为什么每个 [TestMethod] 都会多次调用 [TestClass] 的构造函数?

Why is [TestClass]'s constructor called multiple times for each [TestMethod]?

如果您在一个测试中有多个测试方法class。 Class 的构造函数将 运行 多次。我们如何解释这种超载?

根据我对 MSTest 的理解,每个 [TestMethod] 都会实例化测试 class。我猜您正试图在任何测试 运行 之前 运行 配置代码。如果是这样的话,我会推荐你​​:

A) 更新您的问题以解释您究竟想要完成什么

B) 使用 [ClassInitialize] 属性将方法标记为 运行 一次,并且在任何 class 的测试为 运行 之前仅一次

ClassInitialize 的作用

ClassInitialize 是使用 MSTest 在 C# 中编写单元测试时可用的众多属性之一。比较常见的包括 TestClassTestMethodTestInitialize。这表明该方法应该在 运行 任何标有 TestMethod 的方法之前 运行 一次。在所有测试方法获得 运行.

之后,还有另一个属性与它密切相关,称为 ClassCleanup,它获得 运行

您可以在 docs.microsoft.com

阅读有关这些和更多属性的更多详细信息