28 August 2012

Death by a thousand updates

At work we have a whole bunch of tools to aid us during our development struggles day in and day out. Since the release of VS 2012 last week I took the opportunity to update our tool suite: VS 2012, ReSharper 7, updated SVN, moved to a beta quality Gallio/MbUnit v3 and the list goes on.

To tell the truth this didn't go well. We were already struggling with Visual Studio and ReSharper bugs, but the Gallio Plugin for ReSharper is really the one that caused us the most grief. Unfortunately the folks at JetBrains do not support Gallio out of the box and the Gallio development work seems to have slown down quite a bit. ReSharper 7 is not supported by the current edition of Gallio. Oh well, what do we do now?

We can't provide support for it at work as we're always struggling with our own schedule. So we've decided to dare and look at our unit tests and make an effort to check portability to NUnit. Now there's a reason we decided to use MbUnit in the first place: Contracts, Assert.Multiple, Threading support and lots of other icing on the cake.

To give you a number: We have over 22000 unit tests for our main product. So right in the middle of our sprint we decided a switch to VS 2012 is necessary - so many improvements - and ReSharper 7 has some nice additions too.

It took us a whole week to switch our entire test base from MbUnit to NUnit 2.6. It was actually a great experience and we have found several false-positive tests, which reported green even though they were broken. It turned out that MbUnit probably has some bugs too :)

Now I hope that JetBrains fixes some of the pesky ReSharper 7 bugs, that are really slowing us down.