scala中测试之间的依赖关系

时间:2017-04-30 08:07:54

标签: scala unit-testing

我想测试一个复杂的工作流程,包括对其组件进行单元测试,以及对整个事物运行集成测试,而不必两次运行子组件。

例如,例程c会处理ab的结果。我想拥有以下测试套件:

  • 单元测试1:运行a并验证结果
  • 单元测试2:运行b并验证结果
  • 夜间集成测试:运行ab,验证其结果,然后运行c并验证其结果,而无需重新运行a和{ {1}} ,但重新使用输出

运行每个组件需要一些时间,因此“每次运行所有内容”的明显解决方案是不切实际的。

代码在Scala中,但我不关心使用哪个测试框架 - scalatest,specs2,甚至TestNG,一切都很好,尽管我更喜欢Scala-ish解决方案。谢谢!

1 个答案:

答案 0 :(得分:0)

“重复使用输出”意味着您的单元测试会产生一些工件,夜间集成测试将消耗这些工件。这可能是一种不好的做法,最终往往会伤害到你。除非那些测试确实需要花费大量时间,否则我会重复它们,或者找到更好的方法来验证它们的输出(DRYer测试,不要在任何地方测试相同的测试)