6

我看到对 Option 类型的支持,但是自定义案例类呢?

我有点想这样做:

result match {
  case SuccessCase(values) => {
    values.foo should be ("bar")
  }
  case FailureCase => // should fail test, but how to say this in ScalaTest?
}
4

3 回答 3

4

您可以故意使用 fail() 来使测试失败,例如 FailureCase => fail("err msg"),但我不确定我是否理解您所追求的。也许您可以显示更多代码或详细说明以澄清问题?

于 2012-07-27T12:12:53.820 回答
2

假设您想要的情况是,这可行DesiredCase吗?

result match {
  case DesiredCase(values) => {
    values.foo should be ("bar")
  }
  case _ => {
    fail("Not DesiredCase")
  }
}
于 2012-07-27T14:49:23.063 回答
0

如果经常编写这些类型的测试,Bill Venners 还建议编写自定义匹配器:

https://groups.google.com/forum/?fromgroups#!msg/scalatest-users/4MemQiqLzao/_DsBTQWaqfwJ

于 2013-05-23T21:38:40.830 回答