Повторное использование свойства инициализации теста в тестах - PullRequest
0 голосов
/ 08 мая 2020

Я создаю тестовый класс, который имеет очень длительный Setup метод, считывающий значения из живого БД (я знаю, что это плохая практика, но я не могу изменить его для текущей цели). Этот метод украшен атрибутом [TestInitialize], чтобы я минимизировал повторяющийся код.

[TestClass]
public class MyTestClass{
    private List<string> _dbInformation;

    [TestInitialize]
    public void Setup(){
        _dbInformation = ReadInformationFromDb(); //takes ~ 1 minute
    }

    [TestMethod]
    public void MyTest1(){
       // A test that uses _dbInformation
        Assert.IsNotNull(_dbInformation);
    }

    [TestMethod]
    public void MyTest2(){
        // Another that uses _dbInformation
        Assert.IsNotNull(_dbInformation);
    }
} 

Как видите, каждый из моих тестов использует повторяющееся поле _dbInformation. Это означает, что для каждого запуска каждого из модульных тестов я получаю ~ 1 минуту чтения из базы данных, что делает выполнение всего теста ~ 10 минут.

Есть ли способ повторно использовать свойство _dbInformation в разных тестах, чтобы его не нужно было инициализировать каждый раз? Может быть, свойство stati c поможет?

Спасибо

...