Jer*_*her 6 .net c# unit-testing mstest visual-studio
在Visual Studio中的C#中完整的MSTest单元测试运行中的事件序列是什么(Ctrl + R,A)?
这是我到目前为止的想法:
[AssemblyInitialize][ClassInitialize][TestInitialize][TestMethod]从该类中随机运行a[TestCleanup][ClassCleanup]方法[AssemblyCleanup]但我认为VS可能会立即初始化多个类,然后随机运行TestMethods.测试是否应该在整个测试项目或整个测试项目中自治?了解事件的确切顺序应该回答这些问题.
更新:
我做了一些测试,发现它确实是事件发生的顺序,除了#3到5,任何类的任何测试都可以运行.Visual Studio似乎一次顺序运行一个测试.但是,不应该依赖于此,原因在接受的答案中解释.
你是对的。这确实是代码运行的顺序。但是,由于测试应该完全独立,因此不能保证它们将按顺序运行并且它们将在单个线程上运行。该框架可以同时运行多个测试。
如果您也需要,您可以通过使用测试用例强制执行特定的测试顺序,但这被认为是不好的做法,因为测试用例应该用于将测试重新组合在一起(标记它们)。