【问题标题】:ClassInitialize doesn't get called when I run all tests当我运行所有测试时,ClassInitialize 没有被调用
【发布时间】:2022-11-18 18:55:49
【问题描述】:

ClassInitialize 过去工作得很好,我有 2 个部分,2 个类初始化器和 2 个类清理。其中一个始终处于活动状态,另一个由于本地测试和生产而被注释掉。起初一切正常,然后当我回到本地机器上进行测试时,我切换了 ClassInitialize 和 ClassCleanup。 (请记住,所有这些代码在单独运行之前都运行良好。)现在,当我运行所有测试时,它只是跳过了 ClassInitialize 和 Cleanup,并且我确实在那里有 TestContext。如果有人知道为什么它会跳过这门课,我将非常感激。

这确实发生在之前,然后我创建了一个新类,只是复制粘贴了代码,然后它就起作用了,我不想每次从生产切换到本地时都这样做。

【问题讨论】:

  • 您可能想用您使用的测试框架标记您的问题。

标签: c# unit-testing mstest


【解决方案1】:

很可能是 MsTest 框架。 确保:

1 - 标有 [ClassInitialize] 属性的方法是静态的。

2 - 该方法需要 TestContext 类型的参数。

如果框架对该属性没有反应,您可以尝试使用 [ModuleInitializer] 属性。

【讨论】:

  • 该方法是静态的。
  • 好的,添加了额外的信息。
猜你喜欢
  • 1970-01-01
  • 2019-02-28
  • 1970-01-01
  • 2018-07-08
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多