gpt4 book ai didi

java - 在Java中放心测试特定方法

转载 作者:行者123 更新时间:2023-11-28 20:26:12 24 4
gpt4 key购买 nike

我想测试一个名为 AdRestService 的类中的特定方法,该类具有一些 @GET、@POST 等。我想从另一个名为 AdRestServiceTest 的测试类中测试它。我想知道如何从 AdRestServiceTest 调用 AdRestService 中的方法以及如何测试返回是否正常。

public class AdRestService {

@GET
@Path("{id}")
@Produces("application/json")
public Ad get(@PathParam("id") Long adId) {
return adService.get(adId); // This points to the DB
}

}

现在放心测试:

public class AdRestServiceTest {

@InjectMocks
private AdRestService adRestService;

@Test
public void getAdTest() {
given().
when().
get("website.com/ad").
then().
assertThat().
statusCode(200).
and().
contentType(ContentType.JSON).
and().
// ???
// How can I call the method get(@PathParam("id") Long adId) from AdRestService and test if the return is correct ?
}




}

最佳答案

我猜你混淆了集成单元测试。 Rest-assured 用于集成测试,因此它们测试您的应用程序服务器是否正确响应您定义的请求。您实际上会定义一个包含预期答案的 .json 文件,并将其与实际响应相匹配,以检查您的应用程序服务器的序列化是否正常工作。

参见 this举个例子。

如果你想测试你的AdRestService中的方法,你会写一个普通的单元测试,没有必要使用rest-assured。

关于java - 在Java中放心测试特定方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56170412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com