plioi/fixie — pull request #63 by plioi (2014-12-09 16:55:47+00:00)
Title: Add Visual Studio Test Adapter

Adds support for the Visual Studio Test Explorer window. Discovered tests appear in the window upon builds of your solution. All discovered tests can be executed in bulk, and individual selected tests can be executed from the Test Explorer window as well.

Due to limiting assumptions made by Visual Studio, running parameterized tests has one limitation: discovery will display one Visual Studio 'test case' for each test *method group* ( http://stackoverflow.com/questions/886822/what-is-a-method-group-in-c ), then at execution time potentially-many individual passes and failures will be displayed underneath that. All in all, parameterized and overloaded test methods are fully supported, but Visual Studio's *count* of discovered tests is really a count of discovered *test method names*. The NUnit runner attempts to better handle this, resulting in a glitchy experience whenever a parameterized test method has a dynamically generated set of inputs at runtime. Fixie's grouping of dynamic test cases under method group names is a far safer compromise that better-fits the intended usage of the Visual Studio test adapter API.

Like the TestDriven.NET adapter, the Visual Studio Test Adapter is deployed as a part of the Fixie nuget package, so no separate installation step should be necessary.

The biggest architectural change motivated by this feature is that the Listener interface and all of the types passed into it are now safe to use across AppDomain boundaries, meaning that arbitrary third-party runners can define their own Listener implementations instead of being limited only to those implementations built-in to Fixie.