我正在JUnit测试中测试在某些情况下会引发自定义错误,使用@Test注释,一切顺利.
@Test(expected = MyCustomException.class)
public void MyTest(){
...
}
Run Code Online (Sandbox Code Playgroud)
但是,在我的代码中,当我遇到这样的错误时,我会以这样的方式使用记录器(slf4j):
catch (IllegalArgumentException e) {
LOG.error("My custom exception occured with {}", inputVar, e);
throw new MyCustomException(inputVar, e);
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,行为很好.当我使用maven构建我的应用程序时,所有测试都已完成.完成描述的测试后,测试被标记为已通过,但我的shell中有一个完整的堆栈跟踪,前面有一个大错误.
我的问题如下,有没有办法在运行测试时删除日志(因此不在shell中查看)?
第二个问题是:我是否应该尝试?或者我应该只验证所有测试都通过了,并且在构建应用程序时看到堆栈跟踪和错误时不要担心?(改变主意而不是改变代码)
堆栈跟踪是该测试的预期.因此,记录它是好的.一切都按预期工作,所以我认为你不应该改变任何东西.特别是你不应该更改任何代码,使测试日志看起来"更好".
更改代码(可能是某些"isTesting"标志)只会混淆代码并改变测试和生产之间的行为,这正是您在进行单元测试时不想要的.
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |