【发布时间】:2011-01-19 20:52:12
【问题描述】:
我有一个具有以下结构的 c# 解决方案:
mySolution
myProject
myProject.MSTests
References
Microsoft.VisualStudio.QualityTools.UnitTestFramework
sutMSTests.cs
sutMSTests.cs:
[TestClass()]
public class sutMSTests
{
[TestMethod]
public void MyTest0()
{
Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(4, 2 + 2);
}
}
当我尝试通过测试、运行、解决方案中的所有测试运行测试时,我在 VS2008 状态行中得到以下信息:
没有运行测试,因为没有加载测试或禁用了选定的测试。
测试,Windows,测试视图显示没有测试。
注意:我手动创建了测试(适用于 xUnit.net),而不是使用 Microsoft 的向导。
我已将我手工创建的 MSTest 设置与我使用向导生成的另一个测试设置进行了比较,它们似乎非常相似。
问题:出现上述错误消息的最可能原因是什么?
编辑 2010-02-25: 更多信息:
我右键单击 Solution Items 文件夹,然后选择 Add,New Project,键入 Test Projects,Test Documents::Visual Studio Test Project 模板。
检测到并通过了新项目的默认无操作测试“TestMethod1”。
但是,我的测试没有显示出来......所以我将我的测试方法复制并粘贴到默认的测试测试项目“TestProject1”中。
我的测试是在“TestProject”中检测到的,但不是在其原始位置。
我将“TestProject1”的文件、组织和设置与我手工创建的测试项目进行了仔细比较。
此时,我猜测 Visual Studio 测试项目模板进行了一些不易检测的设置。
imo,手动创建一个测试项目应该和使用 Visual Studio 测试项目模板创建一个一样容易。
请注意:我并不是说我反对使用 Visual Studio 测试项目模板;对我来说,我喜欢了解幕后的东西,因为这使我成为一个更好的程序员。
【问题讨论】:
-
感谢以下答案和cmet中的所有参与和建议;如果可以选择,xUnit.net (Jim Newkirk, Brad Wilson) 是我首选的单元测试框架。我认为问题是 MSTest 可能是 MSTest 创建了太多文件,删除它们可能已经解决了问题。我说可能有,因为我不记得了。当时我正在研究 .NET 单元测试框架。该项目目前在我的后座上。我将来会尝试回到这个问题上。谢谢你们。我会回来的。 g.
标签: c# unit-testing mstest vs-unit-testing-framework