通过测试正与FeatureSpec
当使用scenario
,我有我的代码,发送一个“失败”情况下类(即ApplesNotAllowed
)并且经由scalaz
脱节使用一部分。ScalaTest:标记的场景的测试作为预期故障
简单的例子:
val result = if (order.value != 10) {
-\/(ApplesNotSupported(orderNumber))
} else {
\/-Option.empty[Orange]
}
在我的测试套件,我可以很容易地测试的情况下,我用期待它shouldBe None
收到Option.empty[Orange]
。但是,当我要测试返回的ApplesNotSupported
案例类时,我遇到了一个问题。自从我们希望发生“失败”以来,我会如何期待这种“失败”会承认测试已经过去?每当我尝试运行我的方案,我得到的错误:
Validation is not success ApplesNotSupported(orderNumber)
使用interrupt
不能解决问题,因为它不是一个例外试过了,也不希望去刻意fail
测试。这可能是使用scalaz
和ScalaTest
的问题吗?
我对于Scala中的函数式编程和编程总的来说还是比较新的,所以任何资源或建议都会有所帮助,因为我在搜索文档时遇到问题。 https://github.com/typelevel/scalaz-scalatest/blob/master/src/main/scala/DisjunctionMatchers.scala
这是基于一个脱节的结果,测试的最佳方式:
感谢它指向了与基准一起。在我看来,我们不应该使用不连续性来进行测试,并且过于专注于看到最终结果。 – abhi