如何在scala中模拟Unit方法

时间:2017-05-23 07:19:04

标签: scala mocking

我有一个方法,它不会返回任何值,实际上它处理数据帧并注册为临时表,当我尝试模拟该方法进行测试时,我得到以下错误。

is a *void method* and it *cannot* be stubbed with a *return value*!
Voids are usually stubbed with Throwables:
doThrow(exception).when(mock).someVoidMethod();

示例代码:

val mock_testmethod=mock[objectwrapper](Answers.RETURNS_DEEP_STUBS)
  when mock_testmethod.unitmethod(any[String]).thenReturn(dataframe)

我是嘲笑和斯卡拉的新手。

2 个答案:

答案 0 :(得分:1)

实际上错误消息已经给出了一些提示。所以你可以:

doNothing().when(mock_testmethod).unitmethod(any[String])

答案 1 :(得分:0)

以下是什么帮助?

when(mockedObject.method()).thenReturn(())

thenReturn中的空括号帮助我归还了部队。