gpt4 book ai didi

java - 我们应该测试 getForObject 吗?

转载 作者:行者123 更新时间:2023-12-02 05:38:32 25 4
gpt4 key购买 nike

我正在编写一个简单的 REST 客户端,我的服务类有一个使用的方法

RestTemplate.getForObject()

我想练习测试,但我真的不知道我们是否应该测试类(class)。我也不知道如何测试没有多大作用的方法。我应该编写任何单元测试吗?

最佳答案

您可以测试,该请求已发送。例如,您有下一个服务:

@Service
public void QueryService {

private final RestTemplate restTemplate;

@Autowired
public QueryService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}

public List<Employee> void makeQuery() {
ResponseEntity<List<Employee>> response = restTemplate.getForObject(
"http://localhost:8080/employees",
EmployeeList.class);
return response.getEmployees();
}
}

对于方法makeQuery,您可以编写下一个单元测试:

@RunWith(MockitoJUnitRunner.class)
public class QueryServiceTest {

@Mock
private RestTemplate restTemplate;

@InjectMocks
private QueryService queryService;

@Test
public void testMakeQueryRequestHasBeenSent() {
List<Employee> result = queryService.makeQuery();

// This string checks that method getForObject has been invoked
verify(restTemplate).getForObject(anyString(), any(Class.class));
}
}

将来,如果您更改 makeQuery 方法并忘记使用 restTemplate 发送请求,则此测试将失败。

关于java - 我们应该测试 getForObject 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56151927/

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