我有一些测试是使用Microsoft.VisualStudio.TestTools内置的。单元测试,但不能让它们运行。

我使用visual studio 2012终极版。

我有两个项目的解决方案;一个有测试,使用Microsoft.VisualStudio.TestTools。UnitTesting, [TestClass]在类之前,[TestMethod]在测试方法之前,并参考Microsoft.VisualStudio.QualityTools.UnitTestFramework(版本10.0.0.0,运行时版本v2.0.50727)。我已经尝试过。net框架3.5,4和4.5其他人给出了一个重定向错误。

我已经尝试构建解决方案和项目。测试资源管理器显示“构建解决方案以发现所有可用的测试”。单击“全部运行”可在解决方案中构建、发现和运行所有测试。

问题是:如何让visual studio找到测试?


我也试过遵循这个:http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx但没有成功:当我被要求右键单击并选择创建测试时,我被困在了开始的部分。没有创建测试。


我有这个测试(它编译,但不显示在测试资源管理器):

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}

我现在发现(见下面删除的答案),这是因为它在一个共享驱动器上,但我还不知道如何绕过它。(可能是关于安全设置的问题)。


当前回答

我尝试了以上所有的测试,但我的Visual Studio 2012仍然没有出现在测试中。最后,我去了一个测试类,发现它有一个RootNamespace。FolderName和我删除了。FolderName把类放在根名称空间和bingo所有的测试回来!

直到前几天,我才明白为什么它在原来的名称空间上工作得很好。

其他回答

我有时也会有同样的症状。

我所做的是: 1. 关闭测试资源管理器窗口 2. 清洗溶液 3.重新构建解决方案 4. 从Test -> Windows ->测试资源管理器重新启动测试资源管理器窗口。

我在测试资源管理器窗口中得到了我的测试。

对我来说是另一回事。我已经安装了一个包,然后卸载它,重新安装一个较早的版本。这在我的app.config中留下了残留的配置/runtime/ assemblybinding /dependencyIdentity重定向。我必须纠正它。 我通过查看输出窗口并在下拉菜单中选择“测试”来解决这个问题。错误信息就在那里。 这是一个痛苦……我希望它能帮助到其他人。

I found the best way to troubleshoot this issue is to create a .proj msbuild file and add your unit test projects which you hare having an issue into this file and execute the tests using the command line version of mstest. I found a small configuration issue in my app.config which only appeared when running the tests from mstest - otherwise the test project built just fine. Also you will find any indirect reference issues with this method as well. Once you can run the Unit test from the command line using mstest you can then do a clean solution, rebuild solution and your test should be discovered properly.

我尝试了以上所有的测试,但我的Visual Studio 2012仍然没有出现在测试中。最后,我去了一个测试类,发现它有一个RootNamespace。FolderName和我删除了。FolderName把类放在根名称空间和bingo所有的测试回来!

直到前几天,我才明白为什么它在原来的名称空间上工作得很好。

我在VS2013终极版中遇到了同样的问题。我的问题是我在创建Windows服务时忘记卸载它。因此,服务正在运行,而VS无法访问其中一个dll,这导致整个测试套件根本没有加载。