Tim Van Wassenhove

Passionate geek, interested in Technology. Proud father of two

24 Dec 2008

Presenting MyTestRunner

Here are a couple of reasons why i dislike the Unit Testing Framework that comes with Visual Studio Team System:

  • Not all versions of Visual Studio are capable of running the tests.
  • Test inheritance is not supported.
  • Running tests via mstest.exe is slow.
  • Visual Studio creating tens of .vmsdi files.

There are already a couple of better frameworks out there, and currently MbUnit is my favorite one, certainly in combination with TestDriven.NET.

I have created a custom implementation of the Microsoft.VisualStudio.QualityTools.UnitTestingFramework assembly. Actually, the assembly only has a couple of Attributes for the moment but contributions are always welcome 😉

In order to achieve better performance i decided to implement a custom test runner. Currently Gallio uses mstest.exe but there might be a day that i decide to write a plugin so that mytestrunner can be used instead.

I was inspired by Creating Self-testing Assemblies and decided to use that approach but for some odd reason visual studio insists on running unit tests although the assembly is a console application 🙁 Anyway, i can still invoke mytestrunner via the external tools as following:

screenshot of external tools dialog

The source code is available at http://code.google.com/p/mytestrunner/.