【发布时间】:2015-10-22 07:59:57
【问题描述】:
我目前正在开始进行单元测试,但我不知道要模拟什么,不应该模拟什么。我的理解是我要测试的类应该是完全隔离的,所以它只处理模拟。
例如,如果我有一个包含方法的类,它会调用getAnyobject()。然后它调用它的anyObject.getId() 方法并存储它。在我的单元测试中,我编写了一个方法build(),在这里我创建了一个AnyObject、anyObj 的实例。然后我用setId(01) 设置了一个ID。
在构建完所有内容后,我编写了一个测试方法。我在那里写:doReturn(anyObj).when(classUnderTest.theServiceIuse.getAnyObject())。我这样做是因为如果serviceIuse.getAnyObject() 不能正常工作,我的测试就会失败。除此之外,我还必须模拟 AnyObject 类中的 getID() 方法。因为我不想测试AnyObject 类。
这真的是我需要模拟这么多,还是我什至不需要调用setID() 方法?
【问题讨论】:
-
可以添加你要测试的代码吗?我认为您正在尝试测试 getter 方法,但感觉不对劲。
标签: java spring unit-testing junit mockito