在辅助函数

时间:2017-02-14 22:35:29

标签: scala specs2

我有一组具有一吨重复代码的规格。我一直用不同的输入调用相同的方法,并对结果做出相同的断言集。

我想使用一个函数来减少重复,类似于下面的例子。有没有办法做到这一点?如果是这样,有没有办法做到这一点,以便我的断言可以在整个函数体中混合,以便函数返回类型不必是匹配器?

"MyApp" should {
     "do something" in {
         tryOperation("large-one")
         tryOperation("small-one")
         tryOperation("another-one")
         //...
     }
}

def tryOperation(input: String): Result = {
    val result = classUnderTest.operation(input)
    result.foo must beEqualTo(bar)
    result.length must beGreaterThan(0)
    result
}

1 个答案:

答案 0 :(得分:0)

您可以使用org.specs2.execute.Result.foreach

之类的内容
"do something" in {
  Result.foreach((1 to 10).toList) { i =>
    i ==== i
  }
}