我目前正在尝试扩展一个基于学校的作业Web应用程序的测试覆盖率,因为我遇到了一个完全空的类,它扩展了Exception,并且根据覆盖率报告不包含任何覆盖率。
通常情况下,我会认为这样的事情可以忽略不计。然而,我们的整体测试覆盖率因素直接影响到我们对这门课程的个人评分。因为这一点,而且这是接近学期末,我试图通过代码标记的覆盖率报告中逐行和整理任何我可以。
在浏览了课程内容和在线搜索之后,我不确定如何继续为这样的类编写测试。这个服务器端类包含在我们的初始代码库中,该代码库是在学期开始时由教师提供给我们的(随着学期的进展,我们在代码库上构建)。
Java类的完整代码:
package <package_name>;
/*
* This is a custom exception that fits our personal
* needs and won't collide with existing issues.
*/
public class BadRequestException extends Exception {}
如何使用该类的一个示例(仍是教师提供的代码):
private String processHttpRequest(spark.Request httpRequest, spark.Response httpResponse, Type requestType) {
setupResponse(httpResponse);
String jsonString = httpRequest.body();
try {
JSONValidator.validate(jsonString, requestType);
Request requestObj = new Gson().fromJson(jsonString, requestType);
return buildJSONResponse(requestObj);
} catch (IOException | BadRequestException e) { // <---- Here
log.info("Bad Request - {}", e.getMessage()); // <----
httpResponse.status(HTTP_BAD_REQUEST);
} catch (Exception e) {
log.info("Server Error - ", e);
httpResponse.status(HTTP_SERVER_ERROR);
}
return jsonString;
}
我目前拥有的(几乎没有):
package <package_name>;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.DisplayName;
public class TestBadRequestException {
@Test
@DisplayName("Test Empty BadRequestException Class")
public void testBadRequestException() {
}
}
在学期开始之前,我没有使用JUnit的经验。所以,任何反馈/参考/建议都非常感谢。
编辑(解决方案):
这个帖子的第一条评论提供了我正在寻找的解决方案。我没有想到会这么简单。
解决方案是在下面的答案与适当的信贷。
2条答案
按热度按时间cfh9epnr1#
我认为没有必要为该类编写单元测试。您可以尝试在代码覆盖率规则中排除它
zdwk9cvp2#
@f1sh的解决方案积分
f1 sh的注解(原始解决方案)建议在JUnit测试中添加
new BadRequestException()
。这给了我一个想法,我希望如何改进这个建议。
我的最终结果: