1

在 xunit 框架的排列阶段,数据应该在何时何地插入数据库?

安排阶段是指从安排、行动、断言模式中的安排。

为了为每种测试方法准备数据,我使用了一个单独的类。例如:

class CasesRelationTypeTest
{
        [Theory]
        [MemberData(nameof(CasesRelationTypeTestData.DeleteAsyncTest), MemberType = typeof(CasesRelationTypeTestData))]
        public void DeleteAsyncTest(CasesRelationTypeDto data)
        {
            //...
        }

       //...
}

class CasesRelationTypeTestData
{
    public TheoryData<CasesRelationTypeDto> DeleteAsyncTest { get; private set; }

    public CasesRelationTypeTestData()
    {
        InitDeleteAsync();
    }

    private void InitDeleteAsync()
    {
        //should I insert the data here? but then it will be inserted for all the tests in the CasesRelationTypeTest, which is not what I want
        DeleteAsyncTest.Add(new CasesRelationTypeDto
        {
            //...
        });
    }
}

如果您提出不同的建议(这将允许精心设计的排列阶段),我可以改变将数据提供给理论的方式。

4

0 回答 0