可以在测试运行期间进行先前的测试

时间:2016-05-02 06:58:26

标签: c# unit-testing

我们有很多自动化测试,有时一个测试会将事件泄漏到下一个测试中,使测试失败后再进行测试。为了让每个人都明白这可能是这种情况,我想在将要出现的错误消息中提及以前的测试/测试。

我知道这种设计并不是最佳设计,但此时重新设计并不是一件容易的事情。

是否可以在测试运行期间获取有关先前运行的测试的名称或其他数据?

1 个答案:

答案 0 :(得分:1)

正如你所说

  

测试会将事件溢出到下一个测试,在失败后进行测试

是一个糟糕的测试设计。每个人都应该遵循Hermetic pattern并且自给自足。更多的测试应该尝试在初始状态下恢复系统,在通过和失败时。这个清理逻辑可以放在TearDown方法中(例如NUnit)。

一种简单的方法

  

获取有关在测试运行期间先前运行的测试的名称或其他数据

是创建一个全局位置,用于存储来自运行的所有数据,例如日志文件。如果我必须这样做(并假设测试不是并行运行),我会记录测试的名称,如果它通过覆盖下一个或只是弹出它。如果测试在TearDown链接中失败,那么使用LIFO集合失败的前一个就像Stack一样,如果一个测试多于其中一个测试,它将帮助你。