我知道这可能缺少一些非常明显的东西,但我似乎无法模拟返回 Try[T] 的方法
简化示例:
case class User (first: String, last: String)
// ...
// in Repository class:
def update[T](id: Int): Try[T] = { ... }
// ...
// in scalatest test using scalamock:
test("a bad id should return a failed update") {
val mockRepo = mock[Repository]
(mockRepo.update[User] _).expects(13).returns(???)
val result = mockRepo.update[User](13)
result.isSuccess should be (false)
}
如何从模拟方法返回失败的 Try[T]?
>在您的示例中,T
绑定到User
,因此返回User
失败:
(mockRepo.update[User] _).expects(13).returns(Failure[User](new Exception("Failed!")))