RESTEasyWebサービスを呼び出すクラスをテストしたいと思います。JunitはWebサービスを呼び出さないようです。サーバー側で確認しましたが、リクエストが届きませんでした。
public class EmpService {
public List<Employee> getEmployees() {
ClientRequest request = new ClientRequest("http://localhost:8080/rest/employees");
request.accept(MediaType.APPLICATION_JSON);
ClientResponse<Employees> response = null;
try {
response = request.get(Employees.class);
} catch (Exception e) {
e.printStackTrace();
}
Employees received = response.getEntity();
if (received.getEmployees() == null){
System.out.println("Employees is null");
}
return received.getEmployees();
}
}
私の意図はRESTサービスをテストすることではなく、クラスをテストすることですEmpService
。そこで、次のJUnitテストケースを作成しました。
public class EmpServiceTest {
@Test
public void testGetEmployees() throws Exception {
EmpService service = new EmpService();
List<Employees> employees = service.getEmployees();
Assert.assertNotNull("Employees is null", employees);
}
@Test
public void testREST() {
ClientRequest request = new ClientRequest("http://localhost:8080/rest/employees");
request.accept(MediaType.APPLICATION_JSON);
ClientResponse<Employees> response = null;
try {
response = request.get(Employees.class);
} catch (Exception e) {
e.printStackTrace();
}
Employees received = response.getEntity();
Assert.assertNotNull("Employees is null", received.getEmployees());
}
}
ブラウザでRESTサービスをテストしましたが、正常に機能しています。しかし、Junitテストケースはそれを呼び出すことができず、エラーは報告されません。JUnitで直接RESTサービスをテストしようとしました。