Как сделать базовый класс с помощью [TestClass()], где я буду делать MyClassInitialize(), а после этого я просто сделаю свои другие тестовые классы именно так: MyNewTest: BaseTest и там будет нет инициализации?Unit Tests inheritance
1
A
ответ
3
(с использованием MSTest)
ClassInitialize не будет работать на базовом классе. Кажется, что этот атрибут выполняется только для исполняемого тестового класса. Однако вы можете явно вызвать базовый класс.
Вот пример:
[TestClass]
public class MyTestClass : TestBase
{
[TestMethod]
public void MyTestMethod()
{
System.Diagnostics.Debug.WriteLine("MyTestMethod");
}
[ClassInitialize]
public new static void MyClassInitialize(TestContext context)
{
TestBase.MyClassInitialize(context);
}
}
[TestClass]
public abstract class TestBase
{
public TestContext TestContext { get; set; }
public static void MyClassInitialize(TestContext context)
{
System.Diagnostics.Debug.WriteLine("MyClassInitialize");
}
[AssemblyInitialize]
public static void AssemblyInit(TestContext context)
{
}
}
1
В NUnit/MbUnit вы просто применяете методы Initalize/Cleanup с соответствующими атрибутами в базовом классе, а затем наследуете их.
Я еще не пробовал это с MSTest, но я бы не рекомендовал эту структуру в любом случае.
Томас
Смежные вопросы
- 1. Lucene Unit Tests
- 2. Scala spec unit tests
- 3. Timeboxing NUnit Unit Tests
- 4. Unit Tests архитектура Question
- 5. Android Unit Tests
- 6. Smart Unit Tests standalone
- 7. Maven Unit Tests
- 8. Mocking in Unit Tests
- 9. Umbraco Unit Tests
- 10. Пакет в Go Unit Tests
- 11. Spark Mongodb Connector Unit Tests
- 12. Promises в Мокко Unit Tests
- 13. Wrapper-Classes для Unit-Tests
- 14. #includes in OMNeT ++ Unit Tests
- 15. Immutablejs Map.update breaks unit tests
- 16. Mocking Request.Browser.Type in Unit Tests
- 17. Unit-tests and joda-time-android
- 18. CCNet Scheduled Unit Tests with MSTest
- 19. Xcode/iOS: Unit Tests, Схемы и конфигурации
- 20. Ожидание запуска события в Silverlight Unit Tests
- 21. Пропуск параметров для Rails Unit Tests
- 22. Silverlight 5 VS 2012 Unit Tests
- 23. Вызов метода в Swift Unit Tests
- 24. Задача DateTime в Rails Unit Tests
- 25. Visual Studio Database Unit Tests - Контрольная сумма
- 26. Laravel Unit Testing - Run All Tests
- 27. unit-tests карма-бегун/профилирование жасмина
- 28. Xamarin UI/Unit Tests with Realm
- 29. Python Unit Tests - Я использую SetUp неправильно?
- 30. Jasmine Unit Tests Unexpected this Reference
Кажется, вы используете C# (и NUnit?) - уточните. –
Я бы поставил под сомнение мотивы такого движения. Модульные тесты должны быть недолговечными и * простыми *. Если вы скрываете инициализацию, существует вероятность, что они будут хрупкими и трудными в обслуживании. – Kane