我一直试图在Spring引导实现中模拟来自Services的feign客户端调用来编写Junit测试用例 .
//Service code
@Autowired
private PersonClient personClient;
//Using the personClient
public Person someMethod(){
//Interface defined with URL and all defination
Person person = personClient.getPerson();
}
//Service testing bean
@RunWith(MockitoJUnitRunner.class)
public Class ServiceTest{
@Mock
public PersonClient mockPersonClient;
@Test
public someTestClient(){
when(mockPersonClient.getPerson()).return(new Person("name",12));
Person person = mockPersionClient.getPerson();
assertEquals(new Person("name",12), person);
}
}
以上不起作用,我是假装客户端的新手,因此不确定如何模拟假装客户端界面 .
有没有其他方法可以实现上述相同的事情 .
1 回答
它可能正在工作,我假设你的Person类没有定义hashcode和equals方法?如果你还没有定义hashcode和equals方法甚至assertEquals(new Person(“name”,12),new Person(“name”,12))将会失败 .
要使测试正常工作,您可以定义hashcode和equals,或者您始终可以使用以下命令替换测试方法: