Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JUnitforJPARestAPI编写测试用例?_Junit_Dbunit - Fatal编程技术网

如何使用JUnitforJPARestAPI编写测试用例?

如何使用JUnitforJPARestAPI编写测试用例?,junit,dbunit,Junit,Dbunit,我想为我的RESTful API Web服务编写junit测试用例,以检查DB的响应和预期响应。 这里的基本流程是REST文件(调用)->BusinessLogic(从DB获取结果)->REST文件(返回) 这是我的REST文件: @Path("add") @Stateless public class AddingREST { @Inject private AddBO addBO; @GET @Produces(MediaType.APPLICATION_JSON) @Path("suc

我想为我的RESTful API Web服务编写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;
}
@无状态
公共类AddBO{
@PersistenceContext(unitName=“WebApplicationPU”)
私人实体管理者实体管理者;
公共列表添加(整数n1,整数n2){
int n3=entityManager.createNamedQuery(“从no_表中选择否”).getResultList();
列表编号=新的ArrayList();
编号。添加(n1);
编号。添加(n2);
编号。添加(n3);
编号。添加(n1+n2+n3);
返回号码;
}
}

这里的问题是如何在测试用例中提供从DB for n3获取的值,因为实际代码位于不同的数据库中,我不想清理这些数据库。因此,基本上,测试用例将在不同的空数据库上运行,在运行数据库时,我必须在测试用例执行后插入数据并清理数据库


我该如何处理这件事?我应该使用DBUnit插入和清理数据吗?

是的,DBUnit可以很好地使用JPA进行数据库准备