java - IntelliJ 错误地划分 JUnit 4 输出

标签 java intellij-idea junit

我有一个使用 JUnit 4 编写的测试类,它有多种测试方法。每个测试都会打印一些重要的信息输出。然而,当我查看 IntelliJ 的日志时,先前测试的一些最后输出被记录为第一个测试的一部分。

为什么是这个?有没有办法纠正这种行为?

我只是写入System.out,并在每次测试返回之前调用flush实际上使问题变得更糟。

最佳答案

这只是一个错误。我通过 @After 中的 Thread#sleep 解决了这个问题

https://youtrack.jetbrains.com/issue/IDEA-66683

测试用例:

public class LogBug {
    @Test
    public void see() {
        System.out.println("foo");
        throw new AssertionError("bar");
    }
    @Test
    public void see2() {
        System.out.println("foo2");
        throw new AssertionError("bar2");
    }
}

关于java - IntelliJ 错误地划分 JUnit 4 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26916997/

相关文章:

java - Eclipse 插件 : Passing command line arguments

java - 将字符串数组从 Java 传递到 C++

intellij-idea - 在 lambda 中进行转换,在 IntelliJ 中标记为冗余

ruby-on-rails - IntelliJ Ruby 语法高亮显示

java - 等待一系列脚本中的单个 Shell 脚本运行完成后再继续(Java、MySQL、JUnit)

java - 使用 JSF primefaces 和 Google App Engine 数据存储的 CRUD 最佳实现是什么

java - 静态实例变量查找 Java

java - 如何使用fernflower用正确的行号反编译?

java - 玩2框架清理内存DB

java - 将两个 jUnit 测试用例合并为一个