[英]Unit test for httpserverletrequest from Java object
我已經編寫了通過沒有任何問題的單元測試:
private Example ex;
@BeforeEach
void setUp(){
ex = new ex();
}
@Test
void funcTest(){
UserDataType p1 = new UserDataType("");
Response noResponse = ex.func(p1);
assertNotNull(noResponse);
assertEquals(noResponse.getStatus(),Status.NOT_FOUND.getStatusCode());
}
public Response func(@Valid Object Obj) {
UserDataType p1;
ObjectMapper MAPPER = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
try {
String eventJson = MAPPER.writeValueAsString(obj);
p1 = MAPPER.readValue(eventJson, UserDataType.class);
}
catch (Exception ex) {
return Response.status(Status.INTERNAL_SERVER_ERROR).build();
}
if (!p1.object.equalsIgnoreCase("something")) {
return Response.status(Status.NOT_FOUND).build(); // p1 in test has object as ""
}
現在的問題是:
因為,我將更改代碼庫中的func
如下:
public Response func(@Context HttpServletRequest req) {
// do Same thing as above
}
是否可以將 object 包裝為 HTTPServerLetRequest 以便測試用例可以通過?
dropwizard
框架。req.getInputStream()
。 我基本上是在詢問如何/如何作為req
傳遞通常的方法是使用一些模擬對象框架(例如Mockito ),在單元測試中“模擬” HttpServletRequest 接口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.