MSTest

时间:2018-05-17 08:08:50

标签: c# mstest

我有一个包含多个项目的解决方案(C#类库),我目前正在使用MSTest中的测试用例测试功能。添加更多测试用例后,我能够观察到一些测试用例在与其他测试用例一起批量执行时经常失败。仅执行这些测试用例时,它们将始终成功。

当我在代码中使用网络接口和系统资源时,我认为观察与它们有关(即使我在每种情况下都通过代码释放每个资源/端口/连接)。

为了克服这些问题,我在考虑不同测试用例执行之间的延迟/暂停。由于我有大约200个测试用例,我想避免为每种情况添加代码。是否有可能告诉MSTest系统添加这样的延迟/暂停?

示例

MSTest项目包含测试用例

  • T1
  • T2
  • T3
  • ...
  • T200

执行所有测试用例将导致

  • T1成功
  • T2成功
  • ...
  • Tn失败(Timeout / OutOfMemory / NullReference / UnknownError ...)
  • ...
  • T200成功

在所有执行期间Tn都不相同(有些Tn经常失败,而其他人从未失败过,但是没有真正的连接,除了Tn失败在批处理后期测试)

测试用例中的实际错误也不是确定性的 - 它的范围从随机位置的超时和空引用到内存异常或未知错误。

逐个执行测试将导致

  • T1成功
  • T2成功
  • ...
  • T200成功

1 个答案:

答案 0 :(得分:1)

如果您希望在每次测试之前和/或之后发生某些事情,那么您可以使用:

componentDidMount

然而,建议不要依赖睡眠来使测试通过 - 我真的会尝试找出异常的根本原因。