您好我对单元测试在Visual Studio默认测试包中的工作原理感到好奇。我有三个用TestMethod属性标记的测试方法,标记有TestClass属性。
现在,当我运行所有测试时: 1.运行时为每个测试方法创建一个新的类实例? 2.每个方法是否在一个线程中并行运行?
感谢您的帮助。
答案 0 :(得分:0)
直接回答你的问题:
为每个包含的TestClass
创建单独的TestMethod
实例。
每个测试都可能在自己的线程上执行,允许测试并行运行。
此信息可在this MSDN blog post:
中找到在MSTest中,每个测试都在一个单独的线程上实例化,这会导致运行交错。
此外,这就是ClassInitialize
方法是静态的原因:由于测试之间不共享TestClass
实例,因此测试可以通过静态变量共享状态的唯一方法。