我们可以在CollectionDefinition类中编写代码吗

时间:2020-03-03 03:09:22

标签: c# unit-testing testing automation xunit

public class MyFirstFixture : IDisposable
{
    public MySecondFixture()
    {
        // Some initialization
    }

    public void Dispose()
    {
        // Some cleanup
    }
}

[CollectionDefinition("MyCollection")]
public class MyCollectionDefinition : ICollectionFixture<MyFirstFixture>
{
    //Can I add code in this section?
}

[Collection("MyCollection")]
public class TestClass1
{
    [Fact]
    public void TestMethod1()
    {
        // Do some testing
    }
}

在这里,我定义了MyFirstFixture并使用CollectionFixture创建了一个集合定义,并且该集合名称正在测试中使用。 我也可以在CollectionDefinition部分中编写代码吗?只要在测试中提到该集合,该代码就会执行吗?

1 个答案:

答案 0 :(得分:0)

只需看一下文档: https://xunit.net/docs/shared-context

有一个例子:

[CollectionDefinition("Database collection")]
public class DatabaseCollection : ICollectionFixture<DatabaseFixture>
{
    // This class has no code, and is never created. Its purpose is simply
    // to be the place to apply [CollectionDefinition] and all the
    // ICollectionFixture<> interfaces.
}