Где и когда данные должны быть вставлены в базу данных на этапе упорядочения в среде xunit? - PullRequest
1 голос
/ 15 января 2020

Где и когда следует вставлять данные в базу данных на этапе аранжировки в 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
        {
            //...
        });
    }
}

Я согласен с изменением способа предоставления данных в теорию, если вы предлагаете что-то другое (что позволило бы хорошо продумать фазу аранжировки).

...