猿问

验证是否创建了临时对象

我在 java 上下文中并且正在使用 Mockito(但我没有绑定到它)来满足基本的模拟需求。


我有这样的代码


public class AuditInfoSerializer {


    [..]


    public Map<String, Object> doStuff(Object a) {

        doOtherStuff("hello", new TempClass(someField, <someParams>));

        doOtherStuff("world", new TempClass(someField, <otherParams>));

        return getResult();

    }

}

并且在测试中,我想验证TempClass在调用该doStuff方法时是否有两个使用正确参数集创建的实例。


这有可能吗?


qq_笑_17
浏览 143回答 2
2回答

一只名叫tom的猫

您不想验证被测对象的临时数据。您想模拟依赖项并断言被测对象的行为:即使用此输入您有此输出。模拟验证是对模拟方法的权衡,这些方法不返回任何内容而只会产生副作用。因此,只有在您别无选择时才使用它。在您的单元测试中,您想要的是断言要测试的方法返回的是getResult().用Assert.assertEquals(...)not with做到这一点Mockito.verify(...)。
随时随地看视频慕课网APP

相关分类

Java
我要回答