我有一些测试是使用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");
        }
    }
}

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


当前回答

我也有同样的问题。在我的例子中,它是由私有属性TestContext引起的。

将其更改为以下方式会有所帮助:

public TestContext TestContext
{
    get;
    set;
}

在清理和构建解决方案之后(如@Ourjamie的回答所述),受影响的测试类中的测试方法在测试资源管理器中是可用的。

其他回答

您可以右键单击测试方法并选择运行测试/运行单元测试选项。这应该会打开测试窗口。

我在尝试在网络共享上打开解决方案时遇到了同样的问题。在这种情况下,测试资源管理器不会检测到任何单元测试。解决方案是:

控制面板-> Internet选项->“安全”选项卡->单击“内网”,将持有网络共享的服务器IP地址或主机名添加到“站点”列表中。

在此之后,我重新编译了解决方案,现在出现了测试。 这应该与@BigT给出的答案非常相似。

加上我的答案,因为这是谷歌上的顶部结果。

我使用Visual Studio 2015和(不知不觉-我只是运行安装包NUnit)安装NUnit3包NuGet到我的测试项目。我已经安装了NUnit测试适配器扩展,我的测试仍然没有显示。

通过工具>扩展和更新安装NUnit3测试适配器为我解决了这个问题。

在谷歌搜索“visual studio看不到测试”后,我来到了这里,所以我想分享一下我的问题。我可以构建我的解决方案,测试也存在,但我看不到它们!这是IDE的一个怪癖,导致了这个问题。请看下图的解释和修复:

因为该项目是在一个共享驱动器上,原来的海报已经表明。VS.NET在加载和运行测试程序集之前需要信任网络位置。读一读这篇博客文章。

为了允许VS.NET加载网络共享的内容,需要将它们(共享)添加到可信位置。要将一个位置添加到完整的信任列表运行(显然根据您的环境需要进行修改):

 caspol -m -ag 1.2 -url file:///H:/* FullTrust

要验证或列出现有的受信任位置,执行以下命令:

 caspol -lg