Я создаю тестовый класс, который имеет очень длительный 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 поможет?
Спасибо