NUnit SetUpFixture 属性在 xUnit 中等效吗?

问题描述 投票:0回答:2

在 nUnit 中,SetUpFixture 允许我在任何测试之前运行一些代码。使用xUnit时有类似的情况吗?


来自 nUnit 文档

这是标记一个类的属性,该类包含给定命名空间下所有测试装置的一次性设置或拆卸方法。

nunit xunit.net
2个回答
5
投票

xUnit 的 比较表 显示了您在 NUnit 中使用

[TestFixtureSetUp]
的地方,可以让您的测试夹具类实现
IUseFixture<T>


如果

[TestFixtureSetUp]
不是您要查找的属性,则兼容性表开头的标题表明没有等效属性:

注意:任何不在此列表中的测试框架属性在 xUnit.net 中都没有对应的属性。


0
投票

我知道这是一个老话题,但对于任何想了解的人来说,您可以创建一个实现 IClassFixture 的基础夹具类。您的测试装置都可以继承自该基类。

如果您需要在程序集范围内运行东西,您可以将单例类注入到该基类中。

internal abstract class TestFixtureBase : IClassFixture<TestApplicationFactory>, IAsyncLifetime
{
    protected TestFixtureBase(TestApplicationFactory factory)
    {
    //...
    }

    public async Task InitializeAsync()
    {
    }

    public Task DisposeAsync()
    {
        //...
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.