【发布时间】:2015-02-26 18:18:11
【问题描述】:
我有这样的事情:
def fnA(argA: Int, argB: Int, argC: Int): Seq[Int] = {
tryRequest {
...
}
}
def tryRequest[T](f: => T): T = {
try {
f
} catch {
...
}
}
我正在尝试弄清楚如何使用 Mockito/ScalaTest 进行测试。我想确保 1. 我的返回类型是我期望的(当我调用 fnA 时是 Seq[Int]),或者 2. 我在调用它时将正确的类型传递给 tryRequest( (Int, Int, Int) => Seq[Int] 当我调用 fnA 时)。我尝试了以下变体:
exampleInstance.fnA(1, 2, 3)
there was one(exampleInstance).tryRequest(any)
但我总是得到类似的东西
Argument(s) are different! Wanted:
exampleInstance.tryRequest(
($anonfun$apply$17) <function0>
);
Actual invocation has different arguments:
exampleInstance.tryRequest(
($anonfun$fnA$1) <function0>
);
任何想法我可以如何准确地测试这个?谢谢!
【问题讨论】:
-
您使用的是 ScalaTest 还是 specs2?这可能是这种情况的一个例子:etorreborre.github.io/specs2/guide/…?
-
我正在使用 ScalaTest!
-
我没有意识到你可以用 ScalaTest 写
there was。我只在 Mockito 上看到过 doc.scalatest.org/2.2.1/#org.scalatest.mock.MockitoSugar。