Both attributes are available only for the classes (and hence tests) where they belong.
TestInitialize
runs before every test that is declared on the the same class where the attribute is declared.
ClassInitialize
runs only on the initialization of the class where the attribute is declared. In other words it won't run for every class. Just for the class that contains the ClassInitialize
method.
If you want a method that will run once before all tests or classes' initialization use the AssemblyInitialize
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…