我是xUnit.NET框架的忠实粉丝; 我发现它轻巧,简单,干净,可扩展.
现在让我们说我有一个这样的类:
public class AdditionSpecification
{
static int result;
public void Because()
{
result = 2 + 2;
}
public void Result_is_non_zero()
{
Assert.True(result <> 0);
}
public void Result_is_correct()
{
Assert.Equal(4, result);
}
}
Run Code Online (Sandbox Code Playgroud)
对于上面的测试类,我希望xUnit.NET能够看到2个测试用例,并在每个测试用例之前运行Since()方法.
撇开您对我的类或方法名称,此测试/规范的结构,xUnit.NET框架或BDD的任何问题,这是我的问题:
我怎样才能告诉xUnit.NET我想要自定义如何在不使用每个目标测试方法的自定义[Fact]类似属性的情况下识别和执行此类的测试方法?
我知道我可以从BeforeAfterAttribute派生出来,在执行前后使用自定义装饰每个测试方法.我怎样才能在班级做到这一点?我必须写一个自定义跑步者吗?