我有一个包含多个项目的Visual Studio 2010解决方案,其中包括.NET4测试项目。一个这样的项目,当我尝试在不调试的情况下运行它(Ctrl+F5)时,报告:
"无法启动测试项目MyTestProject,因为该项目不包含任何测试。"
但是,该项目有几个测试。每个测试类都用[TestClass]属性标记,其中的每个测试方法都用[TextMethod]属性标记。为了证明我自己的理智,我添加了这个文件,但它仍然无法识别有测试。
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Foo {
[TestClass]
public class UnitTest1 {
[TestMethod]
public void TestMethod1() {
}
}
}
该项目已正确设置为测试C#项目。有问题的测试也无法显示在测试列表编辑器的"不在列表中的测试"部分。(我从VB翻译了大部分测试。)
为什么Visual Studio不能识别测试?如何排除故障?
原来这些测试是从VB翻译成C#的;当我翻译它们时,我忘记在它们上添加显式名称空间。因此,全局命名空间中有两个名称相同的测试类,这导致一个测试类有效地替换了另一个。我只是希望给出的警告不要那么神秘!