我看到了對Option類型的支持,但是對於自定義的case類呢?在ScalaTest中的case類中聲明
我有點想這樣做:
result match {
case SuccessCase(values) => {
values.foo should be ("bar")
}
case FailureCase => // should fail test, but how to say this in ScalaTest?
}
我看到了對Option類型的支持,但是對於自定義的case類呢?在ScalaTest中的case類中聲明
我有點想這樣做:
result match {
case SuccessCase(values) => {
values.foo should be ("bar")
}
case FailureCase => // should fail test, but how to say this in ScalaTest?
}
你可以用失敗()失敗的目的的測試,如情況FailureCase =>不合格(「錯誤消息」),但我不知道我明白你在做什麼。也許你可以展示更多的代碼或詳細說明問題?
這個工作,假設你想要的情況是DesiredCase
?
result match {
case DesiredCase(values) => {
values.foo should be ("bar")
}
case _ => {
fail("Not DesiredCase")
}
}
嗨,是的,這就是我正在做的事情(比爾的回答告訴我如何明確地調用fail()。 – 2012-07-30 08:08:24
比爾還建議,如果經常寫這些類型的測試編寫自定義匹配:
https://groups.google.com/forum/?fromgroups#!msg/scalatest-users/4MemQiqLzao/_DsBTQWaqfwJ
謝謝比爾!並感謝輝煌的框架。我自己的答案是否有意義?皮特。 – 2012-07-27 12:16:39
哦,但實際上,Inside也沒有幫助,因爲如果沒有指定失敗案例,測試不會失敗。 :-(所以我必須顯式使用fail()嗎?我真的只是想能夠斷言一個case類是一個特定的情況,並提取它的內容來斷言,有點像'option.value'速記...(這可能是我錯過了一些明顯的東西!) – 2012-07-27 12:37:00