通過測試正與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