Disclaimer: this is not a TDD vs. BDD post – now that we’ve got that out of the way let’s discuss the thing I hate most about BDD…I’ve recently started using BDD (again). My tests are still “unit tests” – they do not call a database nor any other external dependency, and since even when … Continue reading What I hate about BDD
Tag: .NET
My DevGeekWeek sessions
I’ve had fun today at DevGeekWeek where I got to talk about writing clean code and unit testing best practices. I’d like to thank the participants of today’s seminar – you were a great audience and I enjoyed speaking with you and learning about your experience with Agile, unit testing and writing code. Just in … Continue reading My DevGeekWeek sessions
DevGeekWeek 2014
Those you know me (or read my blog) know that I’m passionate (with a capital P) about software development, clean code and of course unit testing. And I’m happy to be given the opportunity to talk about these topics as part of The DevGeekWeek 2014 conference. The DevGeekWeek is a week of all things software … Continue reading DevGeekWeek 2014
Things I learnt reading C# specifications (2)
The story so far: After reading Jon Skeet’s excellent C# in Depth - again I’ve decide to try and actually read the C# language specification…You can read about in a previous post of mine:Things I learnt reading C# specifications (#1)And so as I continue to read the C# specifications along with the excellent comments by … Continue reading Things I learnt reading C# specifications (2)
What to do when FakeItEasy throws System.BadImageException
Today I had a weird problem at work. I’ve been working with a new team and they’ve been writing unit tests using FakeItEasy when they got a strange error message:System.BadImageFormatException: … The signature is incorrect.Now I’ve been using FakeItEasy for some time and I never once saw this strange behavior. Googling for the problem only … Continue reading What to do when FakeItEasy throws System.BadImageException
Faking a long running asynchronous call
A few days ago I needed to make sure that a specific method would only get called once no matter how many times it’s caller is invoked. The simplified code looked something like this:public async Task CallLongOperation(){ var result = await _client.LongWebCall(); if (result.Failed) { // log failure and exit } }I needed to make … Continue reading Faking a long running asynchronous call
call_once for C#
One of the useful gems that made it into C++11 Standard Template Libraries (STD) is call_once, this nifty little method makes sure that specific code is called only once (duh) and it follows these 3 rules: Exactly one execution of exactly one of the functions (passed as f to the invocations in the group) is … Continue reading call_once for C#
One assert to rule them all
What’s wrong with Assert.XQuick – what is the different between the following two lines:Assert.IsTrue(result == expected);Assert.AreEqual(expected, result);Essentially both Asserts check for the same condition, in practice once fail we get very different error messages:While this example is easy to understand – when facing less than trivial test it can be downright impossible to understand the … Continue reading One assert to rule them all
Test Drive your windows phone application
Today I presented the topic of unit testing (surprise, surprise) and Test Driven Development for windows pone applications. I’d like to thank those who managed to arrive to the meeting despite the weather – it was a pleasure. My talk was at the second part of the meeting - right after Eyal who showed how … Continue reading Test Drive your windows phone application
On object creation and unit tests
There is always a balance between readability and maintainability when writing unit tests.I hate hearing a fellow developer say – “the task took me X time more because I had to fix 100+ tests because I refactored my production code”. This means I’m always on the look for ways to decrease the tests maintenance overhead.While … Continue reading On object creation and unit tests