TestInitialize vs ClassInitialize

2020-01-29 04:16发布

What is the difference between TestInitialize vs ClassInitialize in MSTest? What are the pros cons of each?

I'm under the impression that TestInitialze should run with EACH test, every time? Is that correct? And that ClassInitialize will run every time a new instance of any class?

1条回答
放我归山
2楼-- · 2020-01-29 04:54

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.

查看更多
登录 后发表回答