这是我的班级。
class Test {
public void print(){
RestTemplate restTemplate = new RestTemplate();
restTemplate.getForObject("url", String.class);
}
}
测试这个课程,我想模拟" RestTemplate"。有没有办法在不改变代码的情况下做到这一点。
答案 0 :(得分:4)
无法在不更改代码的情况下完成,至少不会以优雅的方式完成。
每次输入/app/route/foo
方法时,都会创建RestTemplate
的新实例,因此无法传入模拟内容。
稍微更改方法以使用RestTemplate作为参数。在运行时,这将是RestTemplate的实际实例,但是当单元测试该方法时,它能够接受模拟。
print()
答案 1 :(得分:1)
您希望使用markerClusters.on('spiderfied', function (event) {
var cluster = event.cluster;
// Center the map on the clicked cluster if it gets spiderfied.
map.panTo(cluster.getLatLng());
});
的注入实例进行测试。
RestTemplate
在测试设置中,您可以根据需要模拟@Autowired
private TestRestTemplate restTemplate;
的行为。