Visual Studio 2010无法识别单元测试
在现有的解决方案中,我添加了一个新的测试项目。在我的Test Project .cs文件中,我有一个用[TestClass]属性装饰的类和一个用[TestMethod]属性装饰的方法。我已经验证了在配置管理器中为生成测试项目选中了复选框(因为我的谷歌搜索已经显示这个问题是其他人遇到的问题)。我已经将测试项目设置为解决方案的启动项目。当我尝试开始测试时,我得到“无法启动测试项目,因为该项目不包含任何测试”。我对单元测试非常陌生。我错过了什么?Visual Studio 2010无法识别单元测试
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
Whole bunch of stuff
Assert.Inconclusive("Done");
}
}
更新:所以我打开了一个VS的新实例,去File => New => Project => Test Project。没有触摸或编辑任何东西。直奔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)“
我不知道单元测试比这更简单。有没有搞错???
测试项目保存到网络文件夹或本地计算机上的任何位置都有此问题。创建另一个测试项目并将其保存到我的闪存驱动器,工作得很好。我不知道是因为我的机器是64位还是因为它是虚拟机还是什么,但我想我只需要测试外部存储设备上的所有内容。
我能得到这个通过修改这里找到devenv.exe的配置文件的工作:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config
。
添加以下行<runtime>
部分,然后重新启动Visual Studio:
<loadFromRemoteSources enabled = "true" />
(这里是link,帮助我)
我有同样的问题,当在测试工作测试项目突然不再被认可。
一个项目文件从另一个工作测试项目比较向我表明了<ProjectTypeGuids>节点从主<的PropertyGroup >节点丢失。
添加<的PropertyGroup >节点内的这条线解决我的问题:
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>
的FrstCBC's anwser并没有为我工作。 我在装有Windows 7 64位和Visual Studio 2012的VirtualBox机器上。
我不得不移动输出到本地文件夹:打开单元测试项目属性,并在构建选项卡,浏览到本地文件夹的输出路径。测试现在可以被检测到并且可以运行。
谢谢,这对我有用 –
对我来说,这只是我的课程和方法不是public
(我意识到海报确实有public
,但是我通过谷歌搜索“testclass testmethod margin icons missing”找到了这篇文章)。愚蠢的错误,但也许它会帮助别人。
验证所有.cs文件在“属性”窗口中都标记为“编译”。如果它被标记为内容,那么你会遇到这个问题。
你还可以通过选择并运行它来运行单元测试吗? E.g.如果右键单击实际的测试方法(在.cs文件中),并选择“运行测试”,那么它是否工作? –
你可以发布你的测试课吗?我之前遇到过这个问题,我相信这是一个语法问题。 – timmy
@CiaranG当我这样做时,我没有收到任何错误。但测试实际上并没有做它应该做的事情,所以我试图在其中设置一个断点来找出原因。当我尝试调试时,所有内容都会生成,但是断点上有一个感叹号,表示它永远不会被击中,因为“没有为此文档加载符号” – jmease