Java Junit测试以下代码
我需要编写junit测试。我返回了类和枚举的junit测试。但是这里我需要检查它是否正确,就像测试的每个方面一样,你应该问这个问题:我在这里测试什么 在这种情况下,几乎没有什么值得测试的,因为您将检查日志记录的正确性(除非某些格式的详细日志记录是应用程序的非功能性需求的一部分),而这些日志记录不应该被测试。这种详细的测试方法不仅会极大地增加任何应用程序的开发,而且还会增加维护工作,只会带来很少的好处,相反,它会将重点放在业务逻辑上 但是,如果您仍然希望测试代码,您可以使用其中一个模拟框架(即Mockito)来注入模拟Java Junit测试以下代码,java,junit,Java,Junit,我需要编写junit测试。我返回了类和枚举的junit测试。但是这里我需要检查它是否正确,就像测试的每个方面一样,你应该问这个问题:我在这里测试什么 在这种情况下,几乎没有什么值得测试的,因为您将检查日志记录的正确性(除非某些格式的详细日志记录是应用程序的非功能性需求的一部分),而这些日志记录不应该被测试。这种详细的测试方法不仅会极大地增加任何应用程序的开发,而且还会增加维护工作,只会带来很少的好处,相反,它会将重点放在业务逻辑上 但是,如果您仍然希望测试代码,您可以使用其中一个模拟框架(即Mo
记录器
,并验证(即通过调用Mockito.verify(…)
)是否调用了具有预期参数的方法
另外,请注意,在大多数情况下不需要预检查
if(logger.isDebugEnabled())
,因为aslogger.debug
将检查日志记录级别。唯一应该使用它的情况是当创建记录字符串的成本很高时(长语句、多个连接等)您的问题没有意义。请重新措辞。我需要为以下代码编写Junit测试:代码除了编写日志消息之外什么都不做,这是通常在单元测试中不会测试的。
public DownloadModelData downloadFiles(
@RequestParam(value = "modelId", required = true) final ModelId modelId,
@RequestParam(value = "type", required = false) final String type,
@RequestParam(value = "osId", required = false) final String osId,
@RequestParam(value = "language", required = false) final String language,
@RequestParam(value = "subType", required = false) final String subType,
@PageableDefault(page = 0, size = 2000) final Pageable pageable) {
if (logger.isDebugEnabled()) {
logger.debug(String.format(" -> pageable: %s", pageable));
}