所以我不记得为我创建的新类进行单元测试。我尽力坚持TDD,但有时我会忘记。我很擅长运行测试(因为它只是一个按钮)所以有没有办法扫描所有类的命名空间,并检查它们是否来自已知的类。
例如。我有一个Contact课程。我有3个子类联系(运输,计费,服务)我有一个单元测试所有3.让我们说从现在起一个月我决定从联系人派出另一个班级。我非常擅长记得运行我的单元测试,但在这种情况下,我希望它只能通过1次测试来提醒我为我的新联系类编写单元测试。像。的东西。
[TestMethod, TestCategory("Contact")]
public void TestAllContactsAccountedFor()
{
foreach(class c in theNamespace)
{
bool subclassOfContact = c is Contact;
if (subclassOfContact)
{
bool knownSubclass = (c is CustomerShippingContact) || (c is CustomerBillingContact) || (c is CustomerServiceContact);
Assert.IsTrue(knownSubclass);
}
}
}
这样,如果我忘记进行测试,它将无法通过此测试,然后我会对其进行说明。关于这个的任何想法?
答案 0 :(得分:6)
我建议您调查使用测试的覆盖范围,而不是使用Code解决此问题。 特别是看看nCrunch,它将标记已经在测试中使用的代码库的行,因此您可以轻松识别需要mroe测试编写的内容。见http://ncrunch.net
答案 1 :(得分:3)
您应该尝试Mighty Moose a.k.a. ContinuousTests它实际上警告您未经测试的代码,并且是唯一免费的.NET代码覆盖工具。