Где и когда следует вставлять данные в базу данных на этапе аранжировки в xunit framework?
Под фазой аранжировки я подразумеваю шаблон Аранжировать из аранжировки, действия, утверждения.
Для подготовки данных для каждого метода тестирования я использую отдельный класс. Например:
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
{
//...
});
}
}
Я согласен с изменением способа предоставления данных в теорию, если вы предлагаете что-то другое (что позволило бы хорошо продумать фазу аранжировки).