ho una classe di base per i miei test che si compone nel seguente modo:MSTest ClassInitialize ed ereditarietà
[TestClass]
public abstract class MyBaseTest
{
protected static string myField = "";
[ClassInitialize]
public static void ClassInitialize(TestContext context)
{
// static field initialization
myField = "new value";
}
}
Ora sto cercando di creare un nuovo test che eredita dalla base, con la seguente firma:
[TestClass]
public class MyTest : MyBaseTest
{
[TestMethod]
public void BaseMethod_ShouldHave_FieldInitialized()
{
Assert.IsTrue(myField == "new value");
}
}
il ClassInitialize
non viene mai chiamato dai test bambino ... Qual è la reale e corretta modo di usare l'inizializzazione di test con l'ereditarietà sul MSTest?
duplicati (preoccupazioni trasversali, che solo così capita di richiedere esattamente le stesse impostazioni per ogni classe di prova e metodo di prova.): Http: //stackoverflow.com/questions/7322154/classinitialize-attribute-in-unit-test-based-class-not-called –