播放 + specs2 + scalacheck?
Play + specs2 + scalacheck?
我似乎想不出如何整合这三者。我找到了如何使用 specs2
和 scalacheck
进行测试,如下所示:
class ExampleSpec extends Specification with ScalaCheck { def is = s2"""
Example
scalacheck $e1
"""
def e1 = prop((i: Int) => i == i)
}
使用所谓的Acceptance specification
style。
但是,对于 Play
,必须使用 Unit specification
style 才能使用 WithApplication
等好东西。
我天真地认为这会起作用:
class PlayExampleSpec extends PlaySpecification with ScalaCheck {
"Play" in new WithApplication() {
"scalacheck" in prop((s: String) => s == s)
}
}
测试根本没有执行。我浏览了一半的互联网无济于事。请帮忙
如果你正在使用 WithApplication
你需要能够在 属性 失败时抛出异常(因为 prop
是纯粹的并且会在 [=11 的主体中丢失=]). AsResult
为您做这件事:
import org.specs2.execute.AsResult
class TestMutableSpec extends mutable.Specification with ScalaCheck {
"Example" in new WithApplication {
AsResult {
prop((s: String) => s != s)
}
}
}
上面的例子应该会失败。
我似乎想不出如何整合这三者。我找到了如何使用 specs2
和 scalacheck
进行测试,如下所示:
class ExampleSpec extends Specification with ScalaCheck { def is = s2"""
Example
scalacheck $e1
"""
def e1 = prop((i: Int) => i == i)
}
使用所谓的Acceptance specification
style。
但是,对于 Play
,必须使用 Unit specification
style 才能使用 WithApplication
等好东西。
我天真地认为这会起作用:
class PlayExampleSpec extends PlaySpecification with ScalaCheck {
"Play" in new WithApplication() {
"scalacheck" in prop((s: String) => s == s)
}
}
测试根本没有执行。我浏览了一半的互联网无济于事。请帮忙
如果你正在使用 WithApplication
你需要能够在 属性 失败时抛出异常(因为 prop
是纯粹的并且会在 [=11 的主体中丢失=]). AsResult
为您做这件事:
import org.specs2.execute.AsResult
class TestMutableSpec extends mutable.Specification with ScalaCheck {
"Example" in new WithApplication {
AsResult {
prop((s: String) => s != s)
}
}
}
上面的例子应该会失败。