【问题标题】:Eclipse Java Console: Why sometimes no output?Eclipse Java 控制台:为什么有时没有输出?
【发布时间】:2012-12-03 12:05:04
【问题描述】:

我经常体验到,Eclipse 中的控制台视图会给出令人困惑的结果。大多数混乱(例如在某些标准输出之间写入的错误输出),但是对于一种类型,我根本无法生存。有时你的代码中有一个System.out.println();,你可以验证sysout之前的代码和它之后的代码是否会被执行,但你仍然不会看到任何打印到控制台的结果。这是为什么呢?

目前我在 JUnit4 测试中看到了这一点(但这不是第一次)。 我的测试看起来像这样:

@Test
public void testSomething(){
  //prep
  ...
  String expected = ...
  //exec
  String actual = executeTestcase();
  //assert
  System.out.println(Formatter.doSomeformatting(actual));
  Assert.assertEquals(expected, actual);
}

【问题讨论】:

  • 您在使用断言之前是否启用了断言?
  • @Logan 否则我的 JUnit4 测试没有问题。如果您导入 junit.framework.Assert 然后将代码作为普通 TestSuite 运行,我认为您不需要专门启用它们。

标签: java eclipse


【解决方案1】:

也许您没有选择正确的控制台?

【讨论】:

  • 我想我是,但我会在下次看到这个问题时尝试验证!
【解决方案2】:

在我的情况下,我也可以在 TestCase 和 TestSuite 中使用 assertEquals 和所有类似的东西,但是当你想在普通程序中使用 assert 时,你需要启用断言(默认情况下禁用)。

要启用断言,请选择您的文件->运行方式->运行配置->选择参数选项卡,其中有标记为 VM 参数的文本框。在这个文本框中写下这个命令:-ea

来源:今天在我同事的计算机上解决了同样的问题。

【讨论】:

    【解决方案3】:

    在我的例子中,之前的程序没有终止,它的控制台仍在运行。我不得不手动终止该控制台,中提琴,我又开始在控制台上获得输出。

    【讨论】:

    • 从阅读您的文字中不清楚,如果您已经考虑将答案标记为解决方案。你有吗?
    猜你喜欢
    • 2014-05-02
    • 2013-09-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 2015-08-31
    • 1970-01-01
    相关资源
    最近更新 更多