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

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


当前回答

我们使用xunit,解决方案为我工作,团队正在删除文件夹%TEMP%\VisualStudioTestExplorerExtensions

阅读这篇文章。

为什么Visual Studio 2015/2017测试运行器没有发现我的xUnit v2测试

其他回答

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

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

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

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

 caspol -lg

这里有另一个基于用户错误/愚蠢的列表添加到....我尝试了这个问题的各种答案,然后意识到我的测试项目在配置管理器(构建菜单,配置管理器)中未勾选,所以它没有被构建>。

发布这篇文章的目的是希望别人能像我一样少浪费一两个小时!

从菜单栏顶部…

Test ->执行->所有测试

也可以从“测试资源管理器”查看所有测试(“测试-> Windows ->测试资源管理器”)

进一步的VS 2012,如果你错过了什么,尝试使用快速启动栏在右上方搜索(Ctrl + Q)“测试”

希望这能有所帮助。

我有Visual Studio 2012,但在测试资源管理器中看不到测试,

所以我安装了以下软件: 单元测试适配器

这为我解决了问题!

我有同样的症状,但情况不同。

我不得不在Peter Lamberg的解决方案中添加一个额外的步骤——清理你的解决方案/项目。

我的unittest项目的目标是x64。当我创建这个项目时,它最初是针对x86的。

切换到x64后,我所有的单元测试都消失了。

我必须去测试菜单->测试设置-默认处理器架构-> x64。

他们还是没有出现。

做了一个构建。

还是没出现。

终于做了一次清洁

然后他们出现了。

我发现清洁解决方案和清洁是相当有用的,让解决方案发挥球时,设置已经改变。有时我不得不走到极端,删除obj和bin目录,并进行重建。