gpt4 book ai didi

java - JUnit 错误测试和日志记录

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:44:24 24 4
gpt4 key购买 nike

我正在 JUnit 测试中测试在某些情况下会引发自定义错误,带有 @Test 注释,一切顺利。

 @Test(expected = MyCustomException.class)
public void MyTest(){
...
}

但是,在我的代码中,当我遇到这样的错误时,我会以这种方式使用记录器 (slf4j):

catch (IllegalArgumentException e) {
LOG.error("My custom exception occured with {}", inputVar, e);
throw new MyCustomException(inputVar, e);
}

到目前为止,行为良好。当我使用 Maven 构建我的应用程序时,所有测试都已完成。当描述的测试完成后,测试被标记为通过,但我的 shell 中有一个完整的堆栈跟踪,前面有一个很大的错误。

我的问题如下,有没有办法在我运行测试时删除日志(因此不会在 shell 中看到它)?

第二个问题是:我应该尝试吗?还是我应该只验证所有测试都通过了,而不用担心在构建应用程序时看到堆栈跟踪和错误? (改变我的想法而不是改变代码)

最佳答案

该测试需要堆栈跟踪。因此,记录它是可以的。一切都按预期工作,所以我认为你不应该改变任何东西。特别是您不应该更改任何代码以使测试日志看起来“更好”。

更改代码(可能是一些“isTesting”标志)只会混淆代码并更改测试和生产之间的行为,而这正是您在进行单元测试时不希望看到的。

关于java - JUnit 错误测试和日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397262/

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