TestDriven.Net - FAQ

Frequently Asked Questions

I installed TestDriven.Net and all the 'Run Test(s)' context menu are working ok when I run the VS the first time. However, when I start another solution to launch another VS environment, non of the TestDriven.Net menus are shown in the new VS. I closed both of the VSs and start VS again. The TestDriven.Net menus totally didappeared. Is this a known issue or I need to configure it manually (how)?

This issue is caused by the way Visual Studio add-ins are installed. The first time Visual Studio loads after a new add-in is installed, the add-in is given a chance to install any new command bar buttons; When Visual Studio is closed, the new button configuration it saved. This can cause the effect described above. To forice the add-in to re-install its command bar buttons, go to the 'Add-in Manager' (on the 'Tools' menu) and check the box to the left of TestDriven.Net. Don't check the [load on] 'Startup' box to the right, as TestDriven.Net can load when a button is pressed the first time it is needed.

After installing TestDriven.NET under XP Professional, Windows Firewall flags incoming connection warnings on attempting to run tests in VS. However, the add-in seems to operate correctly even if I disallow it internet access. Any ideas on what's causing this?

TestDriven.NET uses remoting over a TCP channel to communicate with the test process. This is what the Windows Firewall is detecting. Because is uses the localhost/ loopback interface, it doesn't in fact require Internet access.

Test Driven .NET works on VS2003 but not VS2005

You may be experiencing the BufferSpaceBug, please see Microsoft Knowledge Base Article - 815209.

When I try to execute a test I'm getting "Please select a method, class or namespace.".

Is the source file your trying to execute tests in part of your solution? The most common issue is when the debugger opens a source file from another solution. The add-in can only execute tests/methods from source in the current solution. A quick way to check is to see if intellisense is working. If intellisense is working, you know the file is part of the current solution and the add-in should be able to execute it.

'Test With... Debugger' stopped working.

This is almost certainly caused by an application uninstall breaking Visual Studio. Check that your 'Add New Project' wizards are still working. If they aren't then the 'VSLangProj' COM component has become unregistered. Pete Davis has an explantion and a 6 step fix that will work out a lot quicker than reinstalling Visual Studio! You can find it here.

When I try to execute a test in Visual Basic I get 'Please select a method, class or namespace.'

This may be caused by a bug in the VS2003 version of VB. It will happen if the namespace you're using is the same as an attribute name. For example if you're using the namespace 'My.Test' with the NUnit 'Test' attribute. The safest workaround is to change the namespace name (i.e. use 'My.Tests' instead). Alternatively you can use the fully qualified or full attribute name ('NUnit.Framework.Test' or 'TestAttribute').

If you change the "Output Path" in "Configuration Properties/Build" for a projects properties, when you try to run tests from the "Run Tests" entry in the context menu you get an error saying "Specified test file does not exist".

This is a known issue for Compact Framework projects. The configuration information isn't exposed in Visual Studio's object model for Compact Framework projects (it returns null). As a work around - TestDriven.NET uses a best guess for the location of the output path. It uses the default 'ConfigurationName\bin\' directory (ie 'bin\Debug\' or 'bin\Release\'). If the default location isn't used, TestDriven.NET has no way of finding it.

How can I use .config files. I have MBUnit and it doesn't pick them up like NUnit.

Use a config file with the name .config. So if your test assembly is called unittests.myapp.dll then you have to have a config file in the same folder called unittests.myapp.dll.config

How can I run my current NUnit tests inside MbUnit?

The execution engine of MbUnit should be able to load and run NUnit tests. You can do a quick check by running your assembly with the console runner: MbUnit.Cons my.nunit.assembly.dll

How do I make a test template for Visual Studio so I don't have to type the same thing over and over?

See ProjectItemTemplates in Visual Studio help.