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:
The source code is available at http://code.google.com/p/mytestrunner/.