Visual Studio 2010无法识别单元测试

时间:2012-08-29 15:37:26

标签: visual-studio-2010 unit-testing

在现有解决方案中,我添加了一个新的测试项目。在我的Test Project .cs文件中,我有一个用[TestClass]属性修饰的类和一个用[TestMethod]属性修饰的方法。我已经验证在Configuration Manager中,为“测试项目”检查了构建复选框(因为我的谷歌搜索已经显示其他人遇到此问题)。我已将Test Project设置为解决方案的启动项目。当我尝试开始测试时,我得到“无法启动测试项目,因为项目不包含任何测试”。我真的很擅长单元测试。我错过了什么?

[TestClass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {
       Whole bunch of stuff
       Assert.Inconclusive("Done");
    }
 }

更新:所以我打开了VS的新实例,转到了File =>新=>项目=>测试项目。没有触摸或编辑任何东西。直接到cs文件,这里是它的全部内容:

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace TestProject2
{
 public class Inspection
 {
    public bool SubmitInsp()
    {
        return true;
    }
 }

 [TestClass]
 public class UnitTest1
 {
    [TestMethod]
    public void TestMethod1()
    {
        Inspection insp = new Inspection();
        bool result = insp.SubmitInsp();

        Assert.IsTrue(result);
    }
 }
}

当我尝试启动它时,关于不包含任何测试的项目的相同错误。在构建输出“无法加载文件或程序集'〜\ my documents \ visual studio 2010 \ Projects \ TestProject2 \ bin \ Debug \ TestProject2.dll'或其中一个依赖项中也发现了这一点。不支持操作。(例外情况来自HRESULT:0x80131515)“

我不知道单位测试比这简单得多。到底是什么???

6 个答案:

答案 0 :(得分:5)

我能够通过修改此处的 devenv.exe 配置文件来实现此目的:

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config

将以下行添加到<runtime>部分,然后重新启动Visual Studio:

<loadFromRemoteSources enabled = "true" />

(这是帮助我的link

答案 1 :(得分:5)

我遇到了同样的问题,当一个工作测试项目中的测试突然不再被识别出来时。

将项目文件与另一个工作测试项目进行比较,向我展示了&lt; ProjectTypeGuids&gt;主&lt; PropertyGroup&gt;中缺少节点节点

在&lt; PropertyGroup&gt;内添加此行节点解决了我的问题:

C#:

<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

VB:

<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>

答案 2 :(得分:2)

FrstCBC's anwser对我不起作用。 我在使用Windows 7 64位和Visual Studio 2012的VirtualBox机器上。

我必须将输出移动到本地文件夹:打开单元测试项目属性,然后在构建标签中,浏览输出路径到本地文件夹。现在检测到测试并且可以运行。

答案 3 :(得分:1)

保存到网络文件夹或计算机本地任何位置的测试项目存在此问题。创建了另一个测试项目并将其保存到我的闪存驱动器,工作得很好。我不知道是不是因为我的机器是64位还是因为它是虚拟机还是什么,但我想我只需要在外部存储设备上测试一切。

答案 4 :(得分:1)

对我而言,我的班级和方法不是public(我意识到海报确实有public,但我发现这篇帖子是谷歌搜索&#34; testclass testmethod margin缺少图标&#34;)。对我来说是愚蠢的错误,但也许它会帮助别人。

答案 5 :(得分:0)

验证所有.cs文件是否在“属性”窗口中标记为“编译”。如果它被标记为内容,那么您将遇到此问题。