gpt4 book ai didi

java - 使用 EasyMock 和 Mockito 模拟 void 方法

转载 作者:搜寻专家 更新时间:2023-11-01 01:23:36 24 4
gpt4 key购买 nike

你好,我想知道模拟 void 方法的最佳方法是什么,例如:我在测试中有一个 PersonManager,然后我有一个被模拟的 dao。

class PersonManager {

PersonDao dao...

PersonManager(PersonDao dao)...

Preson find(String person)...

void delete(String person)...

}

class PersonManagerTest {

Map<String, Person> persons ..... = "person1", "person2", "person3";

PersonDao mock...

PersonManager manager = new PersonManager(mock);

//easy one
@Test public void shouldReturnExistingPerson() {
expect(mock.find("person1").andReturn(persons.get(0));
Person result = manager.find("person1");
// replay and verify logic
}

//but what should I do here?
@Test public void shouldDeleteExistingPerson() {
//should I remove a person from testing Map holding test data? or what am I doing wrong
}
}

所以测试有返回值的方法很简单,但是如何设置无效方法呢?感谢您的建议,也欢迎使用 Mcokito 示例。

最佳答案

使用 easy mock,您不需要将 void 函数包装在 expect() 周围。您只需要执行以下操作:

obj = createMock(...)
obj.someVoidMethod();
replay(obj);
...
verify(obj);

关于java - 使用 EasyMock 和 Mockito 模拟 void 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5951535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com