我有一些测试是使用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 2015和(不知不觉-我只是运行安装包NUnit)安装NUnit3包NuGet到我的测试项目。我已经安装了NUnit测试适配器扩展,我的测试仍然没有显示。

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

其他回答

这有时是可行的。

检查Test菜单下的处理器架构是否匹配 您用来构建解决方案的那个。

测试->测试设置->默认处理器架构-> x86 / x64

正如在其他文章中提到的,确保您打开了Test Explorer窗口。 Test -> Windows ->测试资源管理器

然后重新构建带有测试的项目,应该会使测试出现在测试资源管理器中。

编辑:正如Ourjamie在下面指出的,做一个干净的构建也会有所帮助。 除此之外,我还遇到了一件事:

“构建”复选框在配置管理器中被取消勾选 用于我在解决方案下创建的新测试项目。

进入构建->配置管理器。 确保您的测试项目选中了构建复选框 用于所有解决方案配置和解决方案平台。

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

当我尝试在不同的PC上构建解决方案时,我多次遇到这个问题。

我也在使用NUnit和Specflow。默认情况下,我的测试项目目标是X86,但我必须将此更改为X64。 步骤 1. 测试菜单->测试设置-默认处理器架构-> x64。 2. 清洁的构建 3.构建 4. 如果仍然没有检测结果 5. 进入Tools Extensions and Updates,然后安装NUnit和Specflow库 6. 清洁的构建 7. 构建

然后通常测试将显示在测试编辑器中。

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

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

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