有没有什么方法可以创建一个在任何测试之前自动调用的方法?
[Fact]
public void Test1() { }
[Fact]
public void Test2() { }
private void Prepare()
{
// Prepare test environment
}
我需要在Test1
和Test2
之前调用Prepare
。应该是这样的:
1.调用Prepare()
1.调用Test1
1.调用Prepare()
1.调用Test2
我知道我可以用我自己的喜欢来称呼它
[Fact]
public void Test1()
{
Prepare();
}
但有没有办法自动完成呢
3条答案
按热度按时间wwtsj6pe1#
将对
Prepare
方法调用包含在测试类的构造函数中。documentation比较了其他测试框架,例如
[SetUp]
属性等。我们认为使用
[SetUp]
通常是不好的。但是,您可以将无参数构造函数实现为直接替换。cgvd09ve2#
在 NUnit 中,有一个SetUp attribute,你可以使用它作为一个方法,它应该在任何测试之前运行。
在 xUnit 中,似乎需要您自己创建(see here)
km0tfn4u3#
你可以在类的构造函数中调用 Prepare 方法。因此,它将在测试方法之前自动调用。