Существуют ли нестатические эквиваленты для MSTest [ClassCleanup] и [ClassInitialize]?
Существуют ли нестатические эквиваленты для MSTest [ClassCleanup] и [ClassInitialize]?
Я использую MSTest для некоторых тестов уровня системы/интеграции, и я не хочу беспокоиться об очистке и инициализации соединения в тестах.
Пример кода:
[TestClass]
public class DefectCreatorTest
{
private long _cookie;
private soapcgi _soap;
[ClassInitialize]
public void Initialize()
{
_soap = new soapcgi {Url = "http://localhost:80/scripts/soapcgi.exe"};
_cookie = Transaction.Login(_soap);
}
[ClassCleanup]
public void TearDown()
{
Transaction.Logout(_cookie, _soap);
}
[TestMethod]
public void CreateDefectTest()
{
var result = _soap.Foo();
Assert.AreEqual("bar", result);
}
}
Ответы
Ответ 1
Отвечая на ваш вопрос, насколько я знаю - Нет, в MSTest нет нестатического эквивалента.
Но:
- глядя на ваш код, нет причин, по которым
_cookie
и _soap
не должны быть статичными, а также Initialize
и TearDown
. Это позволит вам забыть о проблемах конфигурации во время тестовой записи...
- Если вы готовы "прыгать на корабль", эквиваленты NUnit для [ClassCleanup] и [ClassInitialize] может применяться к статическим и экземплярам.