【发布时间】:2019-08-16 14:12:39
【问题描述】:
我有一个作为exceptionHandler 的部分函数,它匹配相应的异常并相应地抛出。
我应该为NoHostAvailableException 编写一个测试用例,但我无法使用模拟抛出异常。
我已经制作了一个模拟服务器,它可以在 Lagom 中制作嵌入式 Cassandra。
这是偏函数。
private val handleException: PartialFunction[Throwable, Future[List[MonitoringData]]] = {
case noHostAvailableException: NoHostAvailableException => throw new CassandraNotAvailableException(TransportErrorCode
.fromHttp(Error.CassandraNotAvailableErrorCode), Error.ErrorMessageForCassandraNotAvailable)
case _ => throw new TransportException(TransportErrorCode.InternalServerError, Error.ErrorMessageForInternalServerError)
}
这是测试用例。
"not be able to interact with the database in" {
when(mockReadDAO.getData)
.thenThrow(NoHostAvailableException)
assert(thrown.isInstanceOf[NoHostAvailableException])
}
编译器不会将NoHostAvailableException 作为值。
【问题讨论】:
-
你为什么使用 sca - 服务组件架构标签?
-
我添加了 Scala 标记,但我的错误忽略了 sca。