以编程方式通过ScalaTest添加新测试

时间:2017-04-26 00:51:40

标签: scala scalatest

我有一组存储在文件中的输入案例。

我希望每个案例都是特定的scalatest" test",即在控制台中作为单独测试报告并单独失败。

不幸的是,实验和Google建议此功能可能不存在?

,例如,这似乎是常见的情况(为简单起见)

class MyTestingGoop extends FunSuite {
   val input : Seq[SpecificTestCase] = ...
   test("input data test") {
      forAll(input) { case => ... } 
   }
   //...
}

理想情况下,每个case都是一个单独的测试。如何使用ScalaTest完成这项工作?

1 个答案:

答案 0 :(得分:2)

你可以这样做:

class MyTestingGoop extends FunSuite {
  val input : Seq[SpecificTestCase] = ...

  forAll(input) {
    test("testing input" + input) {
       // do something with the test
    }
  }
}

唯一的限制是输入具有唯一的toString。

基本上在Funsuite中调用测试会注册测试并稍后运行它,只要您的测试创建是作为类构造的一部分完成的,并且每个测试都有一个唯一的字符串,您应该没问题。