Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 乱七八糟的junit日志,为什么会重复语句?_Java_Ant_Junit_Log4j_Junit4 - Fatal编程技术网

Java 乱七八糟的junit日志,为什么会重复语句?

Java 乱七八糟的junit日志,为什么会重复语句?,java,ant,junit,log4j,junit4,Java,Ant,Junit,Log4j,Junit4,当我运行junit测试时,我的日志如下所示: [junit] Testcase: testSomething1 took 0.546 seconds [junit] <statement 1> [junit] <statement 2> [junit] <statement 3> [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.265 sec [junit] -

当我运行junit测试时,我的日志如下所示:

[junit] Testcase: testSomething1 took 0.546 seconds
[junit] <statement 1>
[junit] <statement 2>
[junit] <statement 3>
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.265 sec
[junit] -----------------------Standard Output-----------------------------
[junit] <new statement 1>
[junit] <new statement 2>
[junit] <statement 1>
[junit] <statement 2>
[junit] <statement 3>
[junit] -------------------------------------------------------------------

通过这个链接,我看到了如何在Gradle中控制这个输出,但是必须有一种方法可以用Spring或Junit本身来控制它,对吗?我开始觉得我一直在找错地方。是否有一个ant设置可以在我的控制台中隐藏输出的标准输出和标准错误部分?

我对junit不是很熟悉,但可以查看日志级别是否未设置。然后它可能默认为DEBUG,这意味着您将获得所有信息。如果是这样,请尝试将日志级别更改为警告。

因此这对我来说很奇怪,但我需要在ant junit任务上设置showoutput=“false”。我的formatter嵌套元素为我提供了所需的所有输出。通过使用showoutput=“true”和formatter嵌套元素,我将输出打印两次到控制台:(


我从这个堆栈溢出问题中找到了答案:

您是如何在JUnit测试中配置log4j的?我刚刚添加了一个测试用例的示例。我没有对日志做任何特殊的处理,但是我得到了所有额外的输出。我不想通过更改日志级别来掩盖这个问题,我想从pro中保留我的日志减少重复消息。我明白了。以我目前对Junit的了解,我无法回答这个问题。如果您可以提供一个带有代码的伪造测试,我可能会进一步帮助您。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = { MyConfig.class})
public class MyTestClass
{
   @Autowired
   private ClassIWantToTest testee;

   @Test
   public void testCase1()
   {
      boolean bool = testee.callFunc1();
      Assert.assertTrue(bool);
   }
}