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

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


当前回答

我在VS2013终极版的网络共享中打开解决方案时遇到了同样的问题。

我通过开机来解决这个问题

控制面板-> Internet选项->“安全”选项卡->单击“本地intranet”,单击站点并确保勾选“自动检测intranet网络”。

其他回答

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

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

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.

您可以做的最简单的事情是,将这些文件从文件资源管理器拖放到Test项目中。再次构建项目,您就可以开始了!

OR

在文本编辑器中打开Test项目的.csproj文件,并手动包含要编译的文件名。在文件中搜索Compile标记,并添加要运行的文件。

<ItemGroup>
    <Compile Include="TestSettings.cs" />
    <Compile Include="TestLibrary.cs" />
    <Compile Include="UnitTest1.cs" />
</ItemGroup>

为文件添加Compile标记并保存它。现在进行测试您的单元测试文件将被检测并运行。

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

我发现的一个问题是,如果解决方案在网络驱动器/网络位置/共享驱动器上运行,则在测试资源管理器中找不到测试(什么也没有显示)

您可以通过添加一个环境变量来解决这个问题。

COMPLUS_LoadFromRemoteSources,将其值设置为1