我看到了对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