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

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


当前回答

看起来NUnit框架2.6.4不能很好地与NUnit测试适配器一起工作。在网站上,它提到测试适配器只适用于NUnit Framework 2.6.3。

这就是我的问题: 1. 我在VS2012中通过Nuget分别下载了NUnit和NUnit Test Adapter。不知怎的,NUnit更新到了2.6.4,突然我没有看到我的测试用例被列出。

Fix:

卸载Nuget和Nuget测试适配器 a.进入“Tools> Nuget > Nuget Pkg manager > Manage Nuget Pkg for Solution” b.列出已安装的包 c.单击“管理”。 d.取消你的项目 安装NUnit测试适配器,包括NUnit 2.6.3框架 清洁/重建解决方案 打开Test > Test Explorer >全部运行

我看到所有的测试用例

希望这能有所帮助

其他回答

我反复遇到的一个问题是在Windows 8+上不能以管理员身份运行Visual Studio。我尝试了列出的几个建议,但直到我以管理员身份运行VS 2013,它们才出现单元测试(即使我的快捷方式设置为以管理员身份打开VS,要么打开解决方案文件,要么有时单击快捷方式,它实际上不会以管理员身份打开)。

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.

对我来说,解决方案没有那么复杂。

我只是把一个现有的解决方案带到我的机器上(从gitHub克隆),我们不跟踪Visual Studio创建的自动生成的.cs文件。(每个特性文件都有一个同名的。cs文件)

在没有关联的.cs文件的情况下打开解决方案实际上允许我导航到绑定的方法,因此specflow似乎正确地连接起来了,但我无法在test Explorer中查看测试名称。

对于这个问题,简单地从项目中排除特性文件,然后重新包含它们,迫使VS重新生成这些自动生成的代码隐藏文件。

之后,我就可以在测试资源管理器中查看测试了。

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

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

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

从菜单栏顶部…

Test ->执行->所有测试

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

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

希望这能有所帮助。