![]() |
1
7
最后,我写了一个助手 AppDomain.CreateDomain 然后使用反射调用另一个AppDomain下的单元测试。它提供了我需要的隔离。 This post 在msdn的论坛上展示了如果你只有一些需要重置的静态信息,如何处理这种情况。 It 是否提到了一些选项(例如使用反射和 PrivateType ) 我继续欢迎任何进一步的想法,特别是如果我错过了一些关于MSTEST的显而易见的东西。 |
![]() |
2
5
在测试中添加一个使用反射删除singleton实例的助手(您也可以向singleton添加一个reset方法,但我会关注它的使用)。比如:
在TestInitialize方法中调用此函数。[我知道这是“清理世界”,但是您只需要在每个单独实例的助手中编写一次方法,这非常简单,并且给您明确的控制权] |
![]() |
4
1
我们的MSTEST也出现了类似的问题。我们通过在需要它的特定测试的开始和结束时调用一个函数来处理它。 我们将在应用程序配置中存储测试到期日期。三个测试需要这个日期进入一个特定的范围来确定合适的值。在应用程序的设置方式中,只有在会话中没有分配值的情况下才会重置配置值。因此,我们创建了两个新的私有静态函数——一个是显式地将配置值设置为指定的日期,另一个是在测试运行后从会话中清除该日期。在我们的三个测试中,我们称这两个函数。当下一个测试运行时,应用程序会看到日期的空值,并从配置文件中重新提取该值。 我不确定这是否有帮助,但这就是我们解决类似问题的方法。 |
|
Titan · 断言在编写单元测试时“什么都没发生” 7 年前 |
![]() |
SmartestVEGA · 单元测试代码覆盖率应该包括什么? 7 年前 |
![]() |
deBloB · 使用mstest按类别过滤。exe和VS2017 7 年前 |
![]() |
Kjell Rilbe · 如何模拟通过反射找到的类? 7 年前 |