问题描述
我有一个方法add
,它返回Unit
。它调用java
方法,该方法返回void
def add(transaction:distributedTransaction,emailToken:UserToken,user:User,mutationCondition:MutationCondition = new PutIfNotExists()):Unit = {
....
transaction.put(putToken)
}
void put(Put put);
我正在按如下方式模拟此方法
donothing().when(servicesTestEnv.mockUserTokenTransactionRepository).add(servicesTestEnv.mockdistributedTransaction,servicesTestEnv.userTestEnv.userToken,servicesTestEnv.testEnv.user)
但是我遇到错误Only void methods can donothing()!
我怀疑此问题是由于Java
使用void
而Scala
使用Unit
引起的,因为此代码有效
when(servicesTestEnv.mockUserTokenTransactionRepository.add(servicesTestEnv.mockdistributedTransaction,servicesTestEnv.testEnv.user))
.thenAnswer(invocation=> Unit)
以上是模拟的正确测试方法,还是有使用donothing()
进行测试的方法
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)