在 nUnit 中,SetUpFixture 允许我在任何测试之前运行一些代码。使用xUnit时有类似的情况吗?
这是标记一个类的属性,该类包含给定命名空间下所有测试装置的一次性设置或拆卸方法。
xUnit 的 比较表 显示了您在 NUnit 中使用
[TestFixtureSetUp]
的地方,可以让您的测试夹具类实现 IUseFixture<T>
。
如果
[TestFixtureSetUp]
不是您要查找的属性,则兼容性表开头的标题表明没有等效属性:
注意:任何不在此列表中的测试框架属性在 xUnit.net 中都没有对应的属性。
我知道这是一个老话题,但对于任何想了解的人来说,您可以创建一个实现 IClassFixture 的基础夹具类。您的测试装置都可以继承自该基类。
如果您需要在程序集范围内运行东西,您可以将单例类注入到该基类中。
internal abstract class TestFixtureBase : IClassFixture<TestApplicationFactory>, IAsyncLifetime
{
protected TestFixtureBase(TestApplicationFactory factory)
{
//...
}
public async Task InitializeAsync()
{
}
public Task DisposeAsync()
{
//...
}
}