【发布时间】:2012-08-29 15:37:26
【问题描述】:
在现有解决方案中,我添加了一个新的测试项目。在我的测试项目 .cs 文件中,我有一个用 [TestClass] 属性装饰的类和一个用 [TestMethod] 属性装饰的方法。我已经验证了在配置管理器中为测试项目选中了构建复选框(正如我的谷歌搜索显示的那样,其他人遇到了这个问题)。我已将测试项目设置为解决方案的启动项目。当我尝试开始测试时,我得到“无法启动测试项目,因为该项目不包含任何测试”。我对单元测试真的很陌生。我错过了什么?
[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)"
我不知道单元测试会比这简单得多。什么鬼???
【问题讨论】:
-
您仍然可以通过选择并运行它来运行单元测试吗?例如。如果您右键单击实际的测试方法(在您的 .cs 文件中),然后选择“运行测试”,那么它可以工作吗?
-
你能发布你的测试课吗?我以前遇到过这个问题,我相信这是一个语法问题。
-
@CiaranG 当我这样做时,我没有收到任何错误。但是测试实际上并没有做它应该做的,所以我试图在其中放置一个断点来找出原因。当我尝试调试时,一切都建立了,但是断点上方有一个感叹号,表示它永远不会被命中,因为“没有为此文档加载任何符号”
-
我不建议更改测试框架。我使用过 Visual Studio 测试框架和 NUnit。它们之间没有太大区别。有些事情必须做一些不同的事情,但我不会改变你不熟悉的事情。你说你是单元测试的新手,所以我认为你最好坚持使用 Visual Studio 测试框架,因为它与 Visual Studio 的集成更加紧密。 Seldary,当他试图掌握 Visual Studio 测试框架时,我认为建议更改为另一个框架并不具有建设性。
-
您是尝试在“调试”模式还是“发布”模式下运行测试?
标签: visual-studio-2010 unit-testing