在 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
{
//...
});
}
}
如果您提出不同的建议(这将允许精心设计的排列阶段),我可以改变将数据提供给理论的方式。