Szybkie pytanie, jak utworzyć metodę uruchamianą tylko raz, zanim wszystkie testy w rozwiązaniu zostaną uruchomione.Globalna metoda inicjalizacji testu dla MSTest
50
A
Odpowiedz
88
Utwórz publiczną metodę statyczną, ozdobioną atrybutem AssemblyInitialize. Ramy test nazwać konfiguracji metoda raz testu:
[AssemblyInitialize()]
public static void MyTestInitialize(TestContext testContext)
{}
Dla przerywaniem ITS:
[AssemblyCleanup]
public static void TearDown()
{}
EDIT:
Kolejny bardzo ważny szczegół: klasa do której należy ta metoda musi być ozdobiona [TestClass]
. W przeciwnym razie metoda inicjalizacji nie zostanie uruchomiona.
+3
Jeśli masz testy w więcej niż jednym zestawie, to MyTestInitialize zostanie wywołany więcej niż jeden raz podczas testu . – BenCr
Chciałbym wiedzieć, także :(Obecnie mam abstrakcyjną klasę bazową, z której każda dziedziczy testClass. Wewnątrz tej klasy mam metodę TestInitialize. Problem polega na tym, że ta metoda jest uruchamiana za każdym razem, gdy uruchamiany jest nowy test ! –
Niech ta abstrakcyjna klasa bazowa zaimplementuje konstruktor statyczny, który zostanie uruchomiony tylko raz, zanim którykolwiek z testów zostanie uruchomiony – mglmnc