我想为我的RESTful API webservices编写junit测试用例,以检查来自DB的响应和预期响应。 这里的基本流程是REST文件(调用) - > BusinessLogic(从DB获取结果) - > REST文件(返回)
这是我的REST文件:
@Path("add")
@Stateless
public class AddingREST {
@Inject
private AddBO addBO;
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("success/{n1}/{n2}")
public List addREST(@PathParam("id") int n1, @PathParam("id") int n2) {
return addBO.add(n1, n2);
}
}
以下是业务逻辑文件:
@Stateless
public class AddBO {
@PersistenceContext(unitName = "WebApplicationPU")
private EntityManager entityManager;
public List add(int n1, int n2) {
int n3 = entityManager.createNamedQuery("SELECT no from no_table").getResultList();
List numbers = new ArrayList<int>();
numbers.add(n1);
numbers.add(n2);
numbers.add(n3);
numbers.add(n1+n2+n3);
return numbers;
}
}
这里的问题是如何在测试用例中提供从DB获取的n3值,因为实际代码位于我不想清理的不同数据库中。基本上,测试用例将在不同的空数据库上运行,并且在运行数据库时,我必须在测试用例执行后插入数据并清理数据库。
我该如何处理?我应该使用DBUnit来插入和清理数据吗?
答案 0 :(得分:0)
是的,dbUnit适用于使用JPA进行数据库预备。