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

标签 c# unit-testing mstest

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

最佳答案

根据我对 MSTest 的理解,每个 [TestMethod] 都会实例化测试类。我猜您正试图在运行任何测试之前运行配置代码。如果是这种情况,我建议您:

A) 更新你的问题来解释你到底想完成什么

B) 使用 [ClassInitialize] 属性来标记一个方法在类的任何测试运行之前只运行一次

ClassInitialize 做什么

ClassInitialize 是使用 MSTest 在 C# 中编写单元测试时可用的众多属性之一。比较常见的包括 TestClassTestMethodTestInitialize。这表明该方法应该在运行任何标有 TestMethod 的方法之前运行一次。还有另一个与它密切相关的属性,称为 ClassCleanup,它在所有测试方法运行后运行。

您可以在 learn.microsoft.com 阅读有关这些和更多属性的更多详细信息

关于c# - 为什么每个 [TestMethod] 都会多次调用 [TestClass] 的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54354156/

相关文章:

c# - 使用 OLEDB 加载的两个几乎不相等的 excel 表 - 有一个标题和一个没有

c# - C#:Thread.Sleep无法正常工作

c# - 如何为以下返回 json 的 Http 调用添加异常测试

AngularJS Karma 单元测试内存泄漏

c# - 在几种情况下为真的单元测试断言

visual-studio - Visual Studio 测试播放列表架构在哪里?

javascript - 从代码隐藏中的javascript函数检索值

c# - 使用 Mock 进行单元测试。父级没有默认构造函数

python - 如何使用补丁相对路径进行模拟?

ios - OCMock3 与 IOS 的集成问题