我想为REST API生成自动化测试。 我的控制器有一种已经从数据库获取列表的方法,并且 生成JSON:
@Path("/mrp/banco")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getFromDB() {
try {
List<MRP> list = new LinkedList<MRP>();
list = repository.select();
LOGGER.info("tamanho da lista/tuplas : " + list.size());
return Response.ok().entity(list).build();
} catch (Exception e) {
System.out.println(e);
}
return null;
}
我不知道如何编写junit测试。即使有模拟。 有人可以帮我吗?
谢谢
PS ::我的仓库:
public interface MRPRepository extends CrudRepository<MRP,Long>{
@Query("SELECT m FROM MRP m WHERE QTD_SALDO_PROGRAMAR > 0 "
+ "AND FLAG_PLANEJADO = 0 AND FLAG_CANCELADO = 0"
+ "AND FLAG_ATENDIDO=0" )
List<MRP> select();
}
答案 0 :(得分:0)
您可以在运行测试时设置模拟器数据库,例如h2数据库。
答案 1 :(得分:0)
如果我正确理解您的问题,您可以使用 RestAssured 进行 http 测试。
Response response = RestAssured.given()
.baseUri("http://localhost:8080")
.get("/mrp/banco");
response.then().statusCode(200);
List<MRP> mrps = Arrays.asList(response.as(MRP[].class));
// assert anything you want