You now have a choice of installers for TestDriven.NET
- Works with Visual Studio 2015 and later (up to 2019 at time of writing)
- Supports Nunit 3.x, xUnit, MSTest (not from NuGet) and Ad hoc tests
- Auto updates itself
Download from Visual Studio Marketplace
- Works with Visual Studio 2010-2017
- Supports Nunit 2.2, 2.4, 2.5, 2.6 and 3.x
- xUnit, MSTest (not from NuGet) and Ad hoc tests
Please report issues or tweet me!
- #141 Works with Visual Studio 2015 to 2019
- #106 Add support for running ad hoc test methods on .NET Core applications
- #150 Honors the framework selection drop down (works .NET 3.5, .NET 4.x and all .NET Core versions)
- #132 Execute ad hoc methods on VS SDK MEF components (use
Test With > Ad hoc (VS SDK)
on method in MEF component).
- #109 Create a pure VSIX version of TestDriven.Net (download from the VSIX Gallery here)
- #98 Allow .NET Standard ad-hoc methods to be executed using .NET Framework
- #115 Honor default parameters when executing ad-hoc test methods
- #107 Update to initialize TestDriven.Net asynchronously
- #120 Add IgnorePortablePDBsInStackTraces in .config files
- #108 Find a way to execute VS 2015 MSTest projects in VS 2017
- #122 Can't run tests in SDK style F# projects
- #121 Full paths appear in SDK style project stack traces (not short project relative paths)
- #113 Windows Defender started flagging installer
- #110 [STAThread] async Task hangs when executed with Test With > In-Proc (VS SDK)
- TDI105: Add support for Visual Studio 2017 Preview Editions Preview versions can be installed side by side with regular versions. Default install location is assumed.
- TDI104: TestDriven.Net doesn't appear in Visual Studio 2017 / 15.3 devenv /updateconfiguration no longer updates Visual Studio's state on first launch. This exposed an issue with TestDriven.Net's installer.
- TDI90: Add 'Test With > In Proc (VS SDK)' for spelunking Visual Studio services and MEF exports Target methods can define any number of service interfaces and MEF [Import/ImportMany] parameters. More information here.
-
TDI88: Please re-introduce "Navigate to test or code" Add a keyboard shortcut to the 'TestDriven.NET.GoToTestOrCode' command to execute the 'Go To Code/Test' functionality (it's no longer on the code context menu).
-
TDI92: Remove support for legacy project.json/.NET Core projects .NET Core isn't currently supported. I'll revisit this when .NET Core 2.0 is released.
-
TDI76: Add support for Visual Studio 2017 RC TestDriven.Net will be installed for Visual Studio 2017 RC (Community, Professional and Enterprise in their default locations).
-
TDI77: Setup prompts to download .NET 3.5 on Windows 10 Installer (setup.exe) is now built using .NET 4.0 so that is can be installed on a clean installation without .NET 2.0/3.5. Also made NCoverExplorer default to using .NET 4.0.
-
TDI80: TestDriven.Net doesn't work on a 32-bit OS in Visual Studio 2015+ Fixed issue where TestDriven.Net couldn't find its home directory when running on a 32-bit version of Windows.
-
TDI83: Test With > NCover doesn't work when .NET 2.0/3.5 isn't installed Allow NCover/NCoverExplorer to run when just .NET 4.x is installed.
-
TDI72: Can you put the .csproj context menu buttons back below "build" like in VS2012? Project context menu buttons are now placed in consistent locations.
-
TDI65: Update for NUnit 3.5 Update installer to include latest version of NUnit.
-
TDI71: Test With > NUnit not working in 4.0 Beta 2 Restore option to test using the old NUnit 2.5.10 GUI from project context menu.
-
TDI59: Add support for running "Ad hoc" async methods Async methods can be targeted directly and the "Ad hoc" runner will wait for them to complete (the async method mustn't return void).
-
TDI60: Develop library for testing classes that call static methods This version of TestDriven.Net was tested using StaticMocks, a helper library for mocking static methods. If you're interested, you can find it here.
-
TDI54: Label text sent to console when running multiple tests When running all tests in a project/solution, any console/trace output will be labeled with the name of the test that output it.
-
TDI63: Testing .NET Core project might fail with: "MyTests.exe isn't a .NET assembly" When a "runtimes" element was defined in a .NET Core project, it was attempting to execute the native EXE shim rather than the target assembly DLL.
-
TDI17: Automatically pass DTE object to "Ad hoc" test methods that take DTE as a parameter The 'Test With > In-Proc' command will pass the current
DTE
(Visual Studio) object to "Ad hoc" test methods that takeDTE
(orDTE2
) as a parameter. -
TDI52: Add support for new VSTestHost when executing 'Test With > In-Proc' VisualStudio TestHost project can be used for writing Visual Studio integration tests. As a quick way to prototype a test, the 'Test With > In-Proc' command will populate initialize the
VSTestContext
class, giving easy to the currentServiceProvider
andDTE
objects. Click on this issue for an example. -
TDI29: Run using .NET Framework (and "quirks mode") that project.json is targeting When running tests using the 'dotnet test' based runners, run using the exact .NET Framework version and "quirks mode" they were compiled for.
-
TDI50: CurrentDirectory not set for dotnet-test based test runners The current directory wasn't being set when executing using a 'dotnet test' based test runner. It is now being set to the output directory (consistent with other TestDriven.Net runners).
-
TDI53: When running project.json tests, always target tests specified by
testRunner
When targeting a 'project.json' based project, run using the "Ad hoc" runner if a non-test method is targeted (no test attribute), otherwise only consider thetestRunner
specified in 'project.json'. -
TDI44: Remove
Go To Code/Test
command This command was rarely being used and taking up valuable space on the context menu.
-
TDI#21: Add 'Test With > .NET' and 'Test With > .NET Core' commands
-
TDI#40: Add support for .NET Framework / .xproj based projects that use
ITestRunner
interface -
TDI#36: Add support for App.config when running .xproj / .NET Framework tests
-
TDI#14: Add support for running "Ad hoc" test methods in .NET Core Class Library projects
-
TDI#27: Add support for targeting .NET Framework .xproj 'Library' projects
-
TDI#23: TestDriven.Net tries to run tests in .NET Core projects that don't contain tests
-
TDI#18: .NET Core test runner should honor the NUGET_PACKAGES environment variable
-
TDI#7: Can't resolve some assemblies when targeting .NET Core 'Class Library' projects
-
TDI#33: Skip .xproj / project.json style projects that don't contain any tests
-
TDI#34: Can't find .xproj assembly when project name is different to folder name
-
TDI#37: Look for DLLs in RID directory, not just EXEs
TDI#3: Add support for .NET Core testing
.NET Core assemblies can now be targeted using Visual Studio 2015 Update 3 with .NET Core 1.0
If you add or remove features using the lightweight installer, you will need to reinstall TestDriven.Net 4.
TDI#14: Add support for running "Ad hoc" test methods in .NET Core Console and Class Library projects
Any .NET Core method or property can be executed using the 'Run Test(s)' command. Any returned value or object will be expanded on the output window.
TDI#10: Add support for .NET Core debugging
.NET Core projects can be debugged using the Test With > Debugger' command.
TDI#6: Add support for running NUnit tests using .NET Core
Install the 'dotnet-test-nunit' and 'NUnit' packages from NuGet to run NUnit .NET core tests.
TDI#5: Add support for running xUnit tests using .NET Core
Install the 'dotnet-test-xunit' and 'xUnit' packages from NuGet to run xUnit .NET core tests.
TDI#8: Allow .NET Core test runner projects to test themselves
The tests for .NET Core xUnit and NUnit test runner projects can now be executed using TestDriven.Net (the test runner is used to run tests on itself).
TDI#11: Can't target tests in .NET Core nested types
The tests in nested types will now be executed when an outer type is targeted (xUnit and NUnit).
TDI#5: Clean up output when an xUnit test fails
Cleaned up the reporting of failed tests and changed to use relative paths in stack frames.
Please add a feature request here if there is another test runner you would like to see supported.
TDI#28: Can't evaluate "Ad hoc" properties in NUnit test projects
Attempting to target a property in NUnit test projects would result in an exception rathere than property being evaluated.
TDI#22: 'Test With > Performance' not working on Visual Studio 2013 Premium
Symbols appeared not to be found when attempting to profile a test in Visual Studio 2013 Premium.
NTA#12: Add support for running nested classes when a parent class is targeted (NUnit 3.x)
Some people like to use nested classes to arrange their tests.
NTA#5: Add support for executing tests in concrete sub-classes when abstract class is targeted (NUnit 3.x)
Targeting abstract test fixtures in now supported.
NTA#6: Add support for targeting generic test fixtures (NUnit 3.x)
Generix fixtures and their contained methods can now be targeted.
NTA#1: Fixed - Inconclusive tests were being reported as Failed (NUnit 3.x)
For example, Assume.That(false) was being counted as a failed test rather than inconclusive/ignored.
NTA#2: Update to use NUnit v3.4.1
TestDriven.Net shoud still work with all NUnit 3.x tests, but packaged version is now NUnit v3.4.1.
NTA#0: Move NUnit 3.x adapter for TestDriven.Net to NUnit ogarnization on GitHub
Please report any issues with the NUnit 3.x support in TestDriven.Net here.
TDI#13: Can't execute all tests in project if properties window is open
There is a bug in Visual Studio 2015 that causes an exception to be thrown when a properties window is open and the active document is queried. I've added a workaround for this.
NTA#18: Remove extra new line after assert fail message when running NUnit 3.x tests
When an assert fail message contains multiple lines, NUnit 3 ends it with a trailing new line. The extra new line clutters up test results, especially if there are multiple failing tests.
Previously you needed to reference the 'NUnitTDNet' package on NuGet to run NUnit 3.x tests. You can now execute any NUnit 3.x tests without special references or setup. This installer includes NUnit 3.4.0, but can execute any NUnit 3.x tests.
Useful when converting old .NET 1.x projects that reference this early NUnit framework version.
Uninstall worked properly when using'setup.exe' or from the command line. Simply run 'setup.exe' when upgrading to new version.
General options are now available in VS 2015 under ‘Tools > Options… > TestDriven.Net’.
Give suggestions when referencing a version of 'nunit.framework' that isn’t included with installer.
Ready to release TestDriven.NET 3.9 RTM, but can't release it with Beta version of NUnit.
Tests that reference ‘nunit.framework’ 3.0 beta 2/3 can be executed with this version. Future versions of NUnit 3.0 might be compatible with this release (depending on interface changes).
This is an easy way to do performance profiling if you’re using an Enterprise version of Visual Studio.
9539: Applications can run slightly differently when compiled to target .NET 4.0 compared to .NET 4.5 and later
Add support for running with quirks when tests are compiled to target .NET 4.5 and later.
Removed warning message when targeting .NET v4.5.2 and later.
Display ignored tests on ‘Error List / Messages’ when using VS 2015.
Allow double clicking on ‘Task List’ / ‘Error List’ for tests that take parameters.
Added workaround for bug in VS 2015 RC when project properties haven’t been activated yet.
Added support for F# tests that take parameters (test must have unique name).
Added workaround for issue in VS 2015 RC. This should be fixed in VS 2015 RTM.
TestDriven.Net’s setup and installer files are now signed with Mutant Design’s code signing key.
Coverage wasn’t working in Visual Studio 2015.
When ‘Lask List’ is automatically activated, the ‘Add-ins’ category will now be selected. If user navigates to ‘Lask List’, this category may need to be manually selected.
This version of NUnit will warn rather than attempt to execute tests built with future NUnit 3.x versions.
Convert TestDriven.Net from integrating with Visual Studio as an add-in to integrating as a package.
Install test runner adapter that is compatible with the VS 14 version of MSTest.
Fixed bug where ignored tests weren’t being deleted from ‘Task List’ before test run in Visual Studio 2012+.
Reduce this by limiting the number of warnings that can be added to ‘Task List’ in a single test run.
Allow non-admin users to test with coverage on any unsigned assemblies in solution.
Fixed warning when executing tests compiled with .NET v4.5.1.
This would happen the first time a solution was built before running any tests.
This was an issue in Visual Studio 2012 and 2013.
9521: Not all projects built before test when keyboard used to start test execution on VS2012/VS2013
Caused by a strange Solution Explorer / keyboard interaction. Added a workaround for this issue.
Fixed.
This allows enter key to be pressed to jump to source that caused build to fail.
Fixed.
Fixed options dialog issue when TestDriven.Net is installed for all users
No bugs reported. Ready to RTM!
Add-in now installed for all users, not just current user.
WiX project extension causes Visual Studio to quit when interacting with the WiX project model. Added workaround to avoid this.
Added support for Visual Studio's built in unit test runner.
'Test With > Code Coverage' and 'Test With > Performance' can be used on Visual Studio 2013 Premium and Ultimate.
Added preliminary support for VS 2013. Needs lots of testing.
Exclude any methods tagged with 'System.Runtime.CompilerServices.CompilerGeneratedAttribute' from coverage.
This version now includes the NUnit 2.6.2 test runner.
Stack traces in Danish language are now double clickable.
Fixed .NET profiler environment variables when using VS2012.
Jumping between 'Target.cs' and 'TargetShould.cs' test file naming convention now supported.
Fixed issue when solution directory conatained a '#'.
There’s a new command called ‘TestDriven.NET.RunAllTestsInSolution’. Bind this to a keyboard shortcut to execute all tests in the current solution.
There was an issue running tests in VS 2012 when VS 2012 wasn't also installed.
This version now includes the latest stable NUnit release.
Reflector 6.8 is the last free version of Reflector that all older versions will be upgraded to. Register the location of your ‘Reflector.exe’ using ‘Tools > Options... > TestDriven.Net > Reflector’.
The location of the .NET tools changed in the latest WinSDK. Coverage will now work in VS 2012.
This fixes an issue where stack traces aren’t double clickable when Visual Studio is internationalized into English but the test process is German.
When installing for VS 2012, TestDriven.Net will only be installed for the current user. The HKLM add-in key no longer appears to work in the VS 2012 RTM release.
This version has been tested with Visual Studio 2012 RC
In VS 11 Beta the directory that contains MSTest public assemblies was changed. This stopped MSTest support from working in VS 2010 as well as VS 11 Beta. This has now been fixed.
If you still use this feature, you can re-enable it by editing the 'TestDriven.dll.config' file (see comments)
NUnit 2.6 Final Release is now included in the TestDriven.Net installer.
The NUnit GUI would crash when opening AnyCPU or x86 projects. This is now working.
Xcopy deployable version of NUnit 2.6 RC can be found in the '\Program Files (x86)\TestDriven.NET 3\NUnit\2.6' directory.
The previous 3.2 Beta was defaulting to the simple MSTest support that was developed for VS 2005. Most MSTest attributes (deployment items etc) should now be working in this version.
Removed the simple MSTest support that was originally developed for VS 2005, but was also set as the default for when a appropriate MSTest runner couldn't be found. Defaulting to this early MSTest runner would cause many MSTest attributes to be ignored and was potentially confusing.
You can find the VS 11 preview version here: http://msdn.microsoft.com/en-us/vstudio/hh127353
'Test With > Coverage' wasn't working when target project contained native code DLLs with PDB information.
6979: Can't double click on stack trace when Visual Studio is localized to a different language than Windows
This is now fixed for French versions of Windows, but will need to be fixed for each individual language (if Visual Studio isn't localized for the same language). Please contact me if you're being bitten by this issue.
Reflector 7 can be registered using 'Options > TestDriven.Net > Reflector'. Once registered the 'Go To Reflector' buttons will be visible.
Xcopy deployable version of NUnit 2.5.10 test runner is now included in the 'Program Files\TestDriven.Net 3\NUnit' directory.
No need to load 'NUnitsettings.xml' file when executed using TestDriven.Net.
By default the 'Output' window will be activated when there's significant text output to see. This can be disabled via 'Options > TestDriven.Net > General'.
Ensure that 'Error List' and 'Task List' windows are ready before starting test run.
When upgrading from a pre-2.23 version, the default for AnyCPU tests might have changed to 64-bit. This has been reset back to 32-bit in this version (see 'Options > TestDriven.Net > General').
The summary status message was being lost when focus was away from Visual Studio.
This command has been added to the code context menu to make it more discoverable (think of it as 'Ctrl-Tab' for test driven developers). You can assign a keyboard shortcut to 'TestDriven.NET.GoToTestOrCode'.
This name makes it clearer that the command can be used to navigate back and forth between your tests and code under test.
3269: If multiple source files are found using 'Go To Test/Code', try to match based on containing folder
This will resolve the case when there are similarly named types in multiple namespaces (assuming the test/code under test folder structure matches).
3274: Visual Studio sometimes hangs with 'Stop Debugging in Progress...' when using 'Test With > Debugger' (VS 2010)
This is caused by a bug in Visual Studio 2010. I've added a workaround that seems to resolve the issue.
3271: Add support for 'System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute' when testing with code coverage (.NET 4.0)
This .NET 4.0 attribute can be used with both NCover and Microsoft's code coverage support.
When testing with code coverage / performance profiling, tests compiled for AnyCPU will be executed in a 32-bit process.
If the list of assemblies with PDB information exceeds a certain limit, all assemblies will be covered (whether or not they have a PDB file).
Fixed issue where 'Go To Source Code' would sometimes fail when target source was referenced from another project.
This command is used by 'Go To Source Code' from inside .NET Reflector. It takes a single cref string as a parameter.
3263: Simplify 'TestDriven.NET.GoToTests' command so that it flips between test and test target source
This command can be used to flip between your tests and the code your tests are targeting (e.g. between 'Target.cs' and 'TargetTests.cs'). Your tests filename must end with 'Tests', 'UnitTests', 'Fixture' or 'TestFixture'. The command 'TestDriven.NET.GoToTests' can be called via a keyboard shortcut.
This stops Visual Studio trying to navigate to source that doesn't exist when using test frameworks that distribute their PDB files.
The NUnit GUI can be xcopy deployed along with your solution (use the files in '\Program Files (x86)\TestDriven.NET 3\NUnit\2.5'). The 'Test With > NUnit' command (on the project context menu) will now launch the xcopy deployed NUnit GUI application.
The 'Go To Reflector' command will no longer use a private copy of Reflector that TestDriven.Net downloads. This should prevent a confusing situation when updating to a new version of Reflector. TestDriven.Net will default to using the same version of Reflector as Red Gate's .NET Reflector add-in.
This options page can be used if you need to change the location .NET Reflector is installed at.
The 'Error List' was failing to activate properly when running tests using the 'Solution Explorer' or 'Repeat Test Run'.
Found a workaround for an issue that could be triggered by a corrupted 'machine.config' file.
If the 'Output' window is set to auto-hide, simply hit 'Enter' to jump to the last failed test. Otherwise hit 'Ctrl + Alt + O' to activate the 'Output' window and then 'Enter'.
The 'Output' window will automatically appear when there is something significant to see. It won't appear for general test runner info messages.
The files at '\Program Files (x86)\TestDriven.NET 3\NUnit\2.5' can (optionally) be stored with your solution. This will ensure that your tests are always executed using a known version of NUnit. For more information see: http://bit.ly/bPlwRm and http://bit.ly/rjeXn.
Warn when Typemock Isolator 6.0.3 or admin privs is required to run with NCover. This is the case when running with NCover and Isolator on .NET 4.0.
Fixed issue where JustMock (and other profilers) were being disabled when Typemock Isolator was installed.
Automatically using the installed version of NUnit turned out to be too brittle. This has been deprecated in favour of xcopy deployable test runners. If you need to execute your tests using a specific version of NUnit (which may include custom extensions), you can find instructions here: http://bit.ly/bPlwRm
Since TestDriven.Net 3.0 is focused on .NET 2.0 & 4.0 development, including the .NET 1.1 version of NUnit 2.5 was redundant.
The 'Output' window will be activated if it's hidden and there is new output/error information to see.
3239: Add double-clickable 'Error List' entries for failed tests don't have stack trace information (VS 2010)
Test failures that are due to an attribute (such as 'ExpectedException') don't contain any stack trace information. These failed tests can now be navigated to via the 'Error List' (only on VS 2010).
The test project's 'Target Framework' property will be used to decide which .NET version to execute with.
The 'Task List' tool window will appear if all targeted tests have been skipped.
Fixed bug in ExpectedException support that would cause tests declared this attribute to be skipped.
Use 'Test With > Performance' to perform instrumented performance profiling on target code.
Any skipped tests will be displayed on the 'Task List' as double-clickable items.
All versions of NCover can now be used with Visual Studio 2010 / .NET 4.0.
Solution relative and project output relative deployment items are now supported. Files will be deployed in the test project's output directory when required.
Targeting an abstract base class will execute concrete test classes. Targeting a test method on the base class will execute this method for all concrete classes.
Visual Studio no longer needs to be run as administrator when performing coverage/profiling on unsigned assemblies.
Output the minimum amount of whitespace to ensure that test output and exceptions are clearly separated. This change is particularly noticeable when executing all tests in a solution.
Tests with the HostType attribute will be skipped and indicated in the 'Task List'.
This was tested with the RowTest Unit Test Extensibility Sample (for Visual Studio 2010), which can be found here: http://code.msdn.microsoft.com/UnitTestExtendSample
Custom categories that extend this attribute will now be taken into account.
Custom exception filters that extend this attribute will now be taken into account.
The reason why a test is being ignored can be included in the description like this: [Ignore, Description("Reason for ignoring.")]
Confusing "NCover couldn't create a coverage report" message was being output when NCover had expired. This version will output a more meaningful warning.
Set these properties to be the test project's output directory (which TestDriven.Net uses for deployment).
3209: Output window text doesn't appear when window starts auto-hidden (VS 2010)
Added workaround for this Visual Studio 2010 painting bug.
Navigation from Reflector to code inside solution folders wasn't working. This has been fixed.
Test categories can be specified using the TestCategory attribute on VS 2010 or [TestProperty("TestCategory", "MyCategory")] on VS 2008. Tests can be filtered using the 'TestDriven.Net > General > Categories' option.
3199: 'Test With' menus sometimes missing on VS 2005 / 2008 (issue in TestDriven.Net 3.0.2611 Beta 2)
Must use CommandBarControls.Add on VS 2010 and Commands.AddCommandBar on VS 2005 / 2008.
Fixed issue where test assemblies were ending up locked after being executed inside the Visual Studio process.
This button has been moved so that it doesn't accidentally get pressed when attempting to run tests.
3184: 'Go To Source Code' and 'Toggle Breakpoint' not available when Reflector is started using 'Open in .NET Reflector'
If these commands aren't visible on Reflector's context menu, launch Reflector using 'Go To Reflector', open 'Tools > Integration Options', deactivate Visual Studio add-in, press 'OK', then reactivate the add-in.
This could happen when the Reflector Pro add-in activated Reflector inside the Visual Studio process (e.g. when using commands on the '.NET Reflector' menu).
Fixed crash when Reflector was launched by Redgate's .NET Reflector add-in and 'Go To Source Code' couldn't find parent Visual Studio instance.
MSTest projects will now be executed on a STA thread.
Upgrading to TestDriven.Net 3.0 should now install buttons correctly. You may need to activate TestDriven.Net in the 'Add-in Manager' if you downgrade back to TestDriven.Net 2.x.
Added workarounds for multiple issues with the VS 2010 command bar automation model.
You will be informed if you need to upgrade NCover for .NET 4.0 support.
Ignored tests now appear on the 'Task List' rather than the 'Output' window. They could easily be missed without some kind of hint.
MSTest support is now a first class citizen inside TestDriven.Net 3. This includes support for virtually all unit testing related MSTest attributes. The 'DeploymentItem' attribute is not supported (use project item's 'Copy to Output Directory' property instead).
Reflector 6 Pro will be downloaded and installed the first time 'Go To Reflector' is used. TestDriven.Net installs 'Go To Source Code' and 'Toggle Breakpoint' commands on the Reflector's context menus. 'Go To Source Code' can navigate to source that was decompiled with Reflector Pro or that was compiled on the local machine.
Added support for integrated code coverage when using Visual Studio 2010 Premium.
Test execution speed for MSTest has been significantly improved. This is particularly noticeable when executing individual tests.
The 'DataSource' attribute is now supported. For data file deployment, use 'Copy to Output Directory' property rather than 'DeploymentItem' attributes.
Test classes and methods marked with the 'Ignore' attribute will not be included in the test run.
Test classes can be nested inside public test or non-test classes.
MSTest's 'ExpectedException' attribute (including the 'AllowDerivedTypes' property) now works when using VS 2010.
Xcopy deployable version of NUnit 2.5.3 test runner is now included in the 'Program Files\TestDriven.Net 3\NUnit' directory.
ApartmentState can be specified using the 'NUnit' section in 'App.config', or by using a 'RequiresSTA' attribute (which is recommended).
TestDriven.Net will automatically enable or disable Typemock Isolator, depending on whether a Typemock assembly is being referenced. If a 3rd party library is being used that depends on Typemock, an empty 'LibraryName.dll.tmock' file should be placed next to the referenced assembly (e.g. 'Ivonna.dll.tmock'). This signals to TestDriven.Net that Typemock should be enabled when executing tests.
Functions can now have complex names, for example: let function with complex-name
() = ...
Right click, 'Go To Reflector' now works on F# project references.
Ad hoc, public methods can be executed with Silverlight 4.0 on Visual Studio 2010. Silverlight 4.0 is compatible with a subset of .NET 4.0 (not just assemblies that were compiled for Silverlight).
Ad hoc, public methods can be executed using the CoreCLR (Silverlight) on 64-bit machines.
By default .NET 4.0 does not enable CAS policy by default (which would allow downloaded and network shared assemblies to execute). The 'loadFromRemoteSources' switch has now been enabled, which will allow these assemblies to execute. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
This version contains numerous workarounds for issues in Visual Studio 2010 Beta 2. Be sure to update TestDriven.Net when Visual Studio 2010 is released!
TestDriven.Net 3.x supports Visual Studio 2010, 2008 & 2005. For Visual Studio 2003 support, please use TestDriven.Net 2.x.
New test runners that use a .tdnet file don't need to install registry entries in order to work. This means the test runner binaries can be checked into version control and don't need to be installed. (This feature is already supported by xUnit 1.5, Gallio 3.1.0.313 and Gallio 3.0.6.787)
When a compatible test runner can't be found when attempting to execute a MbUnit or xUnit unit test - a warning message will be displayed informing the user how to solve the issue.
Test runner plug-ins can specify the default ApartmentState to use (STA or MTA).
NUnit 2.5 tests will in now be executed using a MTA thread to align with the NUnit 2.5 GUI and Console.
Different versions of Gallio/MbUnit can now be executed side by side (using zero install / xcopy deployable test runners).
Fixed issue that meant overridden NUnit test methods couldn't be directly targeted.
'Run Test(s)' and 'Go To Reflector' should now work on C++/CLI methods with primitive parameters. NOTE: The /clr:safe option may be required to prevent memory corruption on C++/CLI tests.
ReSharper will no longer prevent TestDriven.Net's debug logs from appearing.
You can specify the default using 'Options\TestDriven.Net\Any CPU tests'.
Your tests will run almost twice as fast in a 32-bit (WOW64) process! If you need to run tests in a 64-bit process you can compile your test project for x64 or change the default using 'Any CPU tests' option. See also: AnyCPU Exes are usually more trouble than they're worth.
Focus will be restored to the editor after doing a 'Repeat Test Run'.
Much shorter, project relative paths will be used in stack traces (assuming the relative path is unambiguous).
The same version as the referenced 'nunit.framework' will be used if available. Otherwise the latest NUnit 2.5 version will be used. This allows the latest version of NUnit 2.5.x to be used and for NUnit extensions to be stored in a consistent location.
Include NUnit 2.5.1 in package.
NUnit 2.5 can now be used from Visual Studio 2003.
A workaround for this potential issue has been added.
Visual Studio 2010 'Test With > Team Coverage' now works. To work with VS 2010 see here.
For example the version of NUnit 2.5.x used will appear in the test run summary (not simply "2.5").
Added workaround for situation where NUnit registry entries are installed but binaries are missing.
TestDriven.Net now integrates with the .NET 2.0 version of NUnit 2.5 RTM.
Command bar button extensibility for add-ins is disabled in VS 2010 Beta1. Commands can still be executed by associating shortcut keys using 'Preferences... > Environment > Keyboard'. To enable commands inside VS 2010 the 'TestDriven.Net > Supported Applications > Visual Studio 2010' feature must be explicitly enabled by doing a 'Custom' install.
Added workaround for VS 2010 Beta1 crashing on startup.
Full NUnit 2.5 support is currently only supported with .NET 2.0 or above. If the .NET 1.1 version of 'nunit.framework' 2.5 is referenced, the NUnit 2.4 execution engine will be used. This enables support for the new Assert.That syntax, but not the new NUnit 2.5 attributes.
The 'Test With > NUnit 2.5' (launch NUnit GUI) command will appear on the 'Solution Explorer' project context menu for VS 2005 or higher.
Added support for targeting methods with nullable parameters. This can be useful when executing parametrized tests or when calling 'Go To Relector'.
The 'Go To Relector' command can now be used on methods and fields with complex generic types.
It is now possible to target methods/fields/parameterized tests with concrete generic parameters.
Only assemblies with PDB information in the target project's output directory (or subdirectories) will appear in NCoverExplorer.
Added workaround so that if CurrentCulture/CurrentUICulture has been explicitly set to "en-US" on a non-English machine, exception stack traces will still be double-clickable.
Resolved issue with previous NUnit 2.5 support where namespaces weren't appearing in the test results.
NUnit 2.5 RC will be used to execute any tests that reference the 'nunit.framework' version 2.5.
The 32-bit version of the NUnit GUI will be used to open test assemblies compiled for the x86 platform.
Trace/debug messages will now be displayed in the 'Debug' pane when stepping through code. Previously these messages only appeared in the 'Test' pane.
Select 'Custom Setup' to enable support for 'Supported Applications > Visual Studio 2010'. This version is known to work with the Visual Studio 2010 PDC CTP but crashes with the later April09 CTP.
The notify icon's 'Debug' option was redundant and potentially confusing. The 'Test With > Debugger' command should be used instead.
TestDriven.Net will automatically enable Typemock Isolator when the target references a TypeMock assembly and disable it otherwise. The Typemock Isolator add-in can be set not to load on 'Startup' using 'Add-in Manager'.
The test process used for debugging tests and normal test execution is now shared. This will mean faster start-up and and fewer rockets appearing in the notify box.
TestDriven.Net will now automatically execute your tests in a 32-bit process when no 64-bit version of NCover is installed.
Tests will now always be executed in a 32-bit process when profiling with dotTrace.
NCoverExplorer 2.1/3.0 will now automatically reload coverage file without prompting.
Fixed issue where uninstalling Gnoso's NCover might break bundled NCoverExplorer support.
As of NCover 3.0.17, NCoverExplorer won't prompt to save coverage project when closing.
Now only assemblies with PDB information will be show up in NCoverExplorer 3.0.
Fixed issue with some C++/CLI assemblies that would cause them to execute in the wrong process type (e.g. a 32-bit assembly in a 64-bit process).
Added workaround for Visual Studio crash when executing 'Test With > Coverage' on a large number of projects. This was caused by a memory overflow bug in Process.Start(...).
When using a Turkish version of Windows, "this".ToLower() == "this" (spot the different). Changing to use ToLowerInvariant() has fixed the installer.
This command is obsolete now that 'TypeMock Isolator' is being automatically enabled and disabled.
To execute all tests in 32-bit mode, you can set require32bit="true" in the '\Program Files (x86)\TestDriven.NET 2.0\TestDriven.dll.config' file. The recommended way to force 32-bit execution is to set your test project's 'Platform target' to 'x86' (under 'Build' on the project properties page).
1661: Update test runner for NUnit 2.5 Beta 2
This version has been compiled to work with NUnit 2.5 Beta 2.
Fixed so that tests that throw an exception are reported as failed tests.
The name of the test runner used will be displayed in brackets after the test results.
Fixed so that .NET 1.1 is always executed in a 32-bit process.
The previous version (2.18 Beta) was broken when loaded in Visual Studio 2003.
The test error list and output pane will always be cleared before any project is built.
All VSTS *.coverage files will be deleted when the last instance of Visual Studio exits. This means coverage files from the drop down list are are now usable.
'Test With' menus will be deleted as part of the uninstallation process.
1682: Can't run xUnit tests on 64-bit machine
The xUnit installer will now register itself properly for executing x64 and x86 unit tests. TestDriven.Net and xUnit must be installed using the same user account.
Privilege elevation will now only be requested once when setup is launched.
NUnit 2.5 Beta can be found in the 'Program Files\TestDriven.NET 2.0\NUnit\2.5' folder.
Added support for targeting generic test fixtures. See here for documentation about creating generic fixtures.
Added support for targeting static tests on attributeless static text fixtures. This is particularly useful when writing F# unit tests (where there is no explicit fixture class).
When executing all tests in a solution/solution folder, only attempt to execute projects that reference a known test framework assembly. This results in faster execution and eliminates 'skipped' test runs.
It is no longer necessary to register test runner plugins under the 32 and 64-bit registry roots when installing for all users (under HKLM). This was a problem for some versions of xUnit and MbUnit.
If there are multiple plugins installed that can handle a particular test framework (e.g. both xUnit and Gallio register for 'xunit.dll'), only the highest priority runner will be given the chance to execute the tests. This allows ah-hoc tests to be executed when a project also contains xUnit tests.
Test runners must now specify which test framework assembly (e.g. 'nunit.framework' / 'MbUnit.Framework') they support using the 'TargetFrameworkAssemblyName' registry key. This allows non-test projects to be quickly skipped when executing all tests in a solution.
I've decided to drop support for VS.NET 2002/.NET 1.0 because .NET 1.0 isn't installable on my 64-bit development machine. At this point I believe it's more important for me to dog food x64 support than to maintain legacy support for .NET 1.0.
Test runner, code coverage and 'Go To Reflector' functionality now works with Visual Studio 2010/.NET 4.0.
Use 'Test With > Silverlight' to execute public ad-hoc tests with the Silverlight CoreCLR. This feature is compatible with Silverlight 2.0 RTM and Beta versions.
When all classes in a project folder belong to the same namespace, TestDriven.Net will execute all tests in the namespace as a single test run rather than as individual test fixtures.
Preserve keyboard shortcuts when new version of TestDriven.Net is installed. This will work when updating TestDriven.Net 2.17 and higher.
You can view installed test runners under 'Tools > Options... > TestDriven.Net > Test Runners'. A future version will allow you to enable/disable them.
1590: Look for unit testing framework assembly in target directory and/or target assembly references
This better supports extensible test frameworks like MbUnit or xUnit where their framework assembly ('MbUnit.Framework' or 'xunit') isn't necessarily referenced directly by the test assembly.
Categories of test can be included or excluded via the TestDriven.Net options pane (this feature works for NUnit tests).
'Go To Reflector' now works on F# projects, modules, parameterless methods and properties.
F# methods can be executed as ad-hoc tests or via a unit testing framework that supports static test methods (e.g. xUnit).
You can now use 'Run Test(s)' on F# properties to evaluate them.
Test runner generated messages and console output will now be displayed when running all tests in a project/solution.
By default trace/debug output isn't displayed when executing all tests in a project/solution. This behaviour can be modified via the TesDriven.Net options pane.
This is a new extensibility point for test runners that want to manage their own test process/app domain (future versions of Gallio will use this).
See 'Tools\Options...\TestDriven.Net' for new option
See 'Tools\Options...\TestDriven.Net' for new option
NUnit 2.4.8 can now be found in 'NUnit\2.4' directory
'Test With > Silverlight' now supports Silverlight 2 Beta 2.
Team Coverage is now supported on a clean VS2008 Team Edition install.
When running all tests in a solution, only projects with 'Build' checked in the 'Configuration Manager' will be built and executed.
When Gallio is installed, 'Test With > Gallio Icarus' should appear on project context menu.
Tests in solution folders will now be executed.
Running 'ad-hoc' public methods now works with Silverlight 2.0 Beta 1.
Updated NUnit test runner to target NUnit 2.4.7.
Andreas Schlapsi's RowTest for NUnit can be found in the '\Program Files\TestDriven.NET 2.0\NUnit\2.4\nunit.framework.extensions.dll' assembly.
Made it clear that TestDriven.Net works with VS 2008 in the installer.
When running all tests in a solution, honor the 'Build' check box in the 'Configuration Manager'.
There appears to be a bug when mixed managed/unmanaged C++ assemblies are unloaded that causes them to remain locked. As a workaround you can add the following to your App.config file's appSettings element:
NUnit 2.4.6 is now packaged with TestDriven.Net (remember to update any installed NUnit add-ins).
This version should correctly determine when a build is required before a test run. The previous version might incorrectly skip the build if only a non-source project item had changed. The 'Smart Build' feature is now only active when using VS 2005 and above.
You can now target for execution NUnit test methods that take parameters (e.g. when using Andreas Schlapsi's RowTestExtension for NUnit).
When using 'Test With > In-Proc' the 'Dte' and 'ServiceProvider' properties of 'VsIdeTestHostContext' will be available for use. For this to work the Visual Studio 2007 SDK must be installed and a reference to 'Microsoft.VSSDK.TestHostFramework' added.
This was caused by an obscure log4net related issue. I've implemented a workaround to avoid the delay and ensure that NUnit log files are written to the correct location ('%APPDATA%\NUnit\NUnit.log').
1161: NUnit extensions aren't being loaded when placed in '%ProgramFiles%\TestDriven.NET 2.0\NUnit\2.4\addins' directory
The 'addins' directory must only contain valid assembly files. I've moved the 'addins.txt' file into the parent directory.
This command should no longer mix up generic and non-generic implementations of a method (e.g. 'Method(T x)' and 'Method(int x)').
Added support for generic methods, generic types, overloaded methods, constructors, properties and explicitly implemented interfaces. This has been tested using C# and Visual Basic (with and without debug symbols).
You can now toggle breakpoints on regular constructors from inside Reflector. Unfortunately Visual Studio doesn't appear to support setting breakpoints on static constructors by method name.
Generic types, methods and other members are now supported when using 'Go To Reflector' and 'Go To Source code' (from inside .NET Reflector).
If no source files have been edited since the last test run, assume that a build won't be required before the next run. This leads to a significant performance improvement when dealing with large solutions.
'Test With... Team Coverage' option is now available when using VS 2008 Team Suite/Tester/Developer.
NCover 2.0 (64-bit) will now be detected and used when testing a 64-bit (or platform neutral) assembly.
TestDriven.Net will now use 64-bit versions of NCover and TypeMock when installed.
TestDriven.Net will pass the name of the current solution to NCover 2.0 for use with NCoverExplorer's per "project" settings.
Targeting generic test types and methods is now supported. The usefulness of this will depend on the individual unit testing frameworks.
This version of NUnit is significantly faster, especially when running a small number of tests.
This appears to be a bug in the VS 2008 CommandBars automation model. I've implemented a workaround in this version that should avoid the crash.
In some versions of TypeMock, the TypeMock add-in was being left behind on uninstall. This orphaned add-in would cause 'Test With... Coverage' to break. I've added a check for this and a warning message.
Don't use TMockRunner with NCover if TypeMock is disabled.
Updated CLSID and fixed timing issue so Test With Silverlight now works with September refresh.
Fixed so that code coverage with NCover 2.0 works when the TypeMock add-in is enabled in Visual Studio.
NUnit 2.4.2 is now included in the installer.
Fixed issue that would cause tests that use Application.CommonAppDataPath to fail.
See joint statement: "Jamie Cansdale and Microsoft Corporation have agreed to concentrate on working together on future releases of TestDriven.Net for Microsoft's officially extensible editions of Visual Studio, as opposed to spending time litigating their differences."
This issue was only manifesting on machines running non-English versions of Windows.
When Silverlight 1.1 is installed a new 'Test With... Silverlight' option will appear on the code context menu. This enables the execution of any public method using the CoreCLR (similar the existing ad-hoc tests feature). At the moment no unit testing frameworks are compatible with the CoreCLR.
See release notes here
To use NUnit extensions with TestDriven.NET you must place extension assemblies in the '\Program Files\TestDriven.NET 2.0\NUnit\2.4\addins' directory.
Exception information was not being displayed when using new NUnit 2.4 version. This is now fixed.
Test assembly path was being truncated when directory contained a '#'. This is now fixed.
See here and here for workaround.
Note: Properties tool window must be open for TestDriven.NET to activate itself.
Include new build of NCover in package.
Fixed bug where "Test With... Coverage" would hang if there were too many assemblies with PDB information referenced by a project.
In this version you must create a directory at '\Program Files\TestDriven.NET 2.0\addins' for NUnit extensions (this is a temporary solution).
Assert.Ignore(...) now shows up correctly as a warning in Error List.
See here for more information.
See here for more information.
To activate TestDriven.NET when using the Express SKU - ensure that the 'Properties' tool window is visible and select any item on the 'Solution Explorer' view.
Added support for version ranges when selecting the correct test runner for a given framework assembly.
Build against NUnit 'Release-2-4-Current' tagged version.
Added workaround for change in assert message formatting between NUnit 2.2 and NUnit 2.4.
MSTest support is now working with VS2005 Team editions and Orcas.
Running all tests in a namespace was broken during the move from NUnit 2.2.8 to NUnit 2.2.9. This is now fixed.
When Mono is installed a 'Test With... Mono' option will appear on the menus. This has been tested with Mono 1.2.3.
Mono only works with app domain config files that end with '.config'. Added workaround that makes temporary config file end with '.temp.config' not '.config.temp'.
Added support for Reflector 5.0 Beta (with with C# 3.0/Linq support).
Register add-in for use with Visual Studio Orcas (tested with Jan 2007 CTP version).
Icons were only being uninstalled correctly from VS2005 if VS2003 was also installed.
Ensure that debugger is detached before aborting the test thread.
Make 'Go To Reflector' default to appear at bottom of solution context menu.
Fixed issue where NCover coverage report would appear empty in NCoverExplorer.
Jump from any code element in Reflector to corresponding source code in Visual Studio.
Right click on Project in the 'Solution Explorer' to load into Reflector.
Right click on Solution node in the 'Solution Explorer' to load all projects into Reflector (useful when searching whole solution).
Grant Drake had done many fixes in NCover 1.5.7
If source code isn't part of Visual Studio solution then use PDB info if available to find source file and location for method (useful when debugging).
'Test With... dotTrace' option will appear when dotTrace is installed.
Don't show 'Test With... Coverage' option when NCoverExplorer isn't installed.
Stopped 'No fixture attribute on parent class' warning when executing a non-test method in NUnit test project.
Warn when attempting to run a private test fixture or test. Before the test would be executed as an ad-hoc test without any setup/teardown methods being called.
When running as user in Administrator role, install for all users rather than just current user. This fixes installing on Vista.
NCover is now shipped as part of the TestDriven.NET installer. NCover 1.3.3 and 1.5.6 are included. NCover 1.5 will be used if .NET 2.0 is installed (works with Visual Studio 2002, 2003 and 2005). NCover 1.3 will be used if only .NET 1.1 is installed. Thanks to Peter Waldschmidt for allowing me to ship a non-GPL version of NCover with TestDriven.NET!
When using Visual Studio 2005 there is an option to build and run tests using .NET 1.1.
Output any exceptions thrown in fixture SetUp/TearDown.
Made all menus with unit testing functionality consistent.
Activate the 'Test' pane at the end of a test run so test results are visible after 'Test With... Debugger'.
Always make output window visible on test run unless window is set to auto hide. Use 'Projects and Solutions\Show Output window when build starts' option if you want 'Output' window to pop up when set to auto hide.
Added warning when attempting to run a fixture with attributes from an unknown/not-installed unit testing framework.
Show NCover 'Coverage' and 'Team Coverage' options on the 'Test With' menus when code coverage tools are available for use.
Only show test runners on 'Test With' menus that are available to use use (i.e. appropriate applications are installed). For example NCover, Team Coverage, TypeMock and .NET 1.1 (MSBee) will only appear when available for use.
Added support for mixed mode and unmanaged debugging. 'Test With... Debugger' will use the 'Enable unmanaged code debugging' or 'Debugger Type' settings for the test project. The C++ debugger type 'Auto' will always default to managed.
705: Add (hidden) support for 'Test With... E&C'
To enable 'Test With... Debugger (E&C)' that works with Edit & Continue; edit the 'TestDriven.dll.config' file and uncomment . This test runner may 'touch' project files when used with source control (this is why it's disabled by default).
An appropriate warning will be output when the 'App.config' file of a test project contains invalid XML.
Added 'Go To Reflector' button to Tools menu. Select a solution or project in the 'Solution Explorer' and hit 'Tools\Go To Reflector' to load project assemblies into Reflector. 'Go To Reflector' can be used from many different window contexts.
Show breakpoints when a breakpoint is toggled from inside Reflector (right click on a method and 'Toggle Breakpoint').
One or more modules can be selected inside the debugger 'Modules' window and opened inside Reflector.
One of more project references can be selected and opened inside Reflector.
Property get methods can now be executed as ad-hoc tests.
Run each test fixture in the folder as a separate test run rather than assuming the folder exactly corresponds to a namespace. Only the first class in each source file will be executed as a fixture.
Changed to conform with menu naming conventions.
Give priority to installed versions of NCover that are newer than the built in version.
Added support for testing with code coverage when TypeMock is enabled. Simply use 'Test With... Coverage' when the TypeMock add-in is enabled.
Honor 'x86', 'x64' or 'Itanium' platform setting of test project. If platform is set to 'Any CPU' then tests will default to running in 64 bit process.
Added option to 'Test With... TypeMock'. This allows TypeMock to only be used on tests that require it (when the TypeMock add-in is disabled). Tests that don't require TypeMock run faster when TypeMock is disabled.
Use much faster 'Test With... Debugger' functionality when running under Visual Studio 2005 that doesn't touch project files and interfere with source control.
Made more robust when faced with possible left over registry entries from previous installs (e.g if an uninstall was forced using msizap).
'Team Coverage' test runner is only available when running as Administrator user. NCover 'Coverage' test runner will work when running as Limited User.
Preserve important Reflector configuration settings when using an already installed version of Reflector. Use proper download dialog to obtain Reflector on first use. Thanks to Grant Drake for contributing this feature!
Remove any menus that might be left over from previous versions of TestDriven.NET.
Reload assemblies when 'Go To Reflector' is called if the assembly has changed.
Fixed issue where test process would exit without warning when stepping through test code.
Show stack trace of outermost exception when nested exception is thrown from MSTest fixture.
Use default 'TestDriven.NET 2.0' directory when doing slient install ("start /wait TestDriven.NET-YOUR_VERSION.exe /q").
Fixed issue where 'Repeat Test Run' would build wrong assemblies when testing with debugger on Visual Studio 2002/2003.
Fixed timeout if a individual test runs for more than ~6 minutes.
Prevent 'Team Explorer' login from stalling uninstall.
Fixed error loading Reflector add-in when launching from Visual Studio 2005.
Executing tests in Web Site projects aren't supported in TestDriven.NET 2.0. Display warning in output window.
Note MbUnit is now a separate install (see www.mbunit.org).
Added 'Go To Reflector' to 'Code', 'Disassembly' and 'Call Stack' context menus.
Using .NET Reflector right click on any method and 'Toggle Breakpoint' to add a VS breakpoint. Be sure to dissable 'Just My Code' (under 'Tools/Options.../Debugging') if using VS2005.
Fixed so that unhandled exceptions no longer abort the process but instead output their thread name, exception message and stack trace (output message only appears when using .NET 2.0).
Added support for 'Repeat Test Run'. Tests will be executed with the last used test runner (default, debug, coverage etc.).
When using VS2005, 'Test With... Debugger' will launch as quickly as the default 'Run Test(s)' implementation. It won't touch the project files or add a temporary 'surrogate' project.
When multiple test suites are executed a summary will be displayed in the status bar.
This feature was too experimental to release as part of TestDriven.NET 2.0 RTM.
In VS2005 'Test With... Debugger' will no longer touch the project file (previous versions needed to disable VS hosting process).
'Test With... Debugger' now works with VS2005 'Web Application' projects (not 'Web Site' projects).
'Test With... Debugger' no longer requires a 'surrogate' project when executing tests in an MSTest project.
Added support for running tests in 64 bit process. The test runner will honor the test assembly's 32bit flag.
Now using NUnit 2.2.8.
Added warning before uninstall for people who may be using the Express SKU support in previous versions.
Fixed issue that could stop TestDriven.NET's command bar buttons from being installed on some menus.
Fixed big that caused some 'Test With...' menu buttons to be missing in cultures that use ',' for decimal point.
'Test With... Debugger' now works when a solution folder has the same name the test project
Added option to build and test using .NET 1.1 from Visual Studio 2005. Use the 'Test With... .NET 1.1' command.
Fixed issue that could cause the wrong command bar button icons to display on some machines.
Ensure that the 'ComPlus_Version' environment variable is cleared in test process. This could cause spawned .NET processes to behave unexpectedly.
Fixed issue with always visible grey command bar buttons when 'SQL Server Analysis Services' was installed. You may need to delete %APPDATA%\Microsoft\VisualStudio\8.0\1033\CmdUI.PRF
Fixed issue when using non-English localized versions of VS2005/.NET 2.0. Stack traces of failing tests weren't double clickable or showing up in the error list.
Stopped 'SerializationException' from being thrown when JetBrains dotTrace 2.0 is installed.
Fixed issue where test project dependencies were not being compiled before test run. This would only happen when an ASP.NET 2.0 Web Site project was part of the solution.
Clear test failures from error list before building for next test run.