默认情况下Fixie
巧妙地在Tests postfix
的类中查找测试方法。它运行顺畅,所有测试都在没有繁琐的xUnit风格属性的情况下执行。但我倾向于根据测试方法的名称将我的测试分组到嵌套类中:
public class ConnectorTests
{
public class Connect
{
... //Connect method tests
}
public class Disconnect
{
... //Disconnect method tests
}
}
如果以这种方式对测试进行分组,则Fixie不会看到具有默认约定的测试方法。自定义约定应该如何修复它?
答案 0 :(得分:0)
我最后写了以下约定:
class TestingConvention : Convention
{
public TestingConvention()
{
Classes
.Where(x =>
{
if (x.Name.EndsWith("Tests"))
return true;
if (x.DeclaringType != null && x.DeclaringType.Name.EndsWith("Tests"))
return true;
return false;
});
}
}
它涵盖了直接在xxxTests类中测试方法的两种情况(当测试类有一个像Query / Command处理程序这样的公共方法时)以及测试方法放在一个内在类中时。