gpt4 book ai didi

java - 需要帮助编写测试

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:29:10 24 4
gpt4 key购买 nike

我正在尝试为这个名为 Receiver 的类编写测试:

public void get(People person) {
if(null != person) {
LOG.info("Person with ID " + person.getId() + " received");
processor.process(person);
}else{
LOG.info("Person not received abort!");
}
}

这是测试:

@Test
public void testReceivePerson(){
context.checking(new Expectations() {{
receiver.get(person);
atLeast(1).of(person).getId();
will(returnValue(String.class));
}});
}

注意:receiver是Receiver类的实例(真实而非mock),processor是Processor类的实例(真实而非mock)处理person(People类的mock对象)。 GetId 是一个 String 而不是 int 的方法,这没有错。

Test fails : unexpected invocation of person.getId()

我正在使用 jMock 任何帮助将不胜感激。据我了解,当我调用此 get 方法以正确执行它时,我需要模拟 person.getId() ,并且我已经绕圈子狙击了一段时间任何帮助将不胜感激。

最佳答案

如果我没理解错的话,你必须移动行 receiver.get(person);在 context.checking 的范围之后 - 因为这是您的测试的执行而不是设置期望。所以试一试:

@Test
public void testReceivePerson(){
context.checking(new Expectations() {{
atLeast(1).of(person).getId();
will(returnValue(String.class));
}});
receiver.get(person);
}

关于java - 需要帮助编写测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912512/

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