ANTLR4';s TreeViewer在运行JUnit测试用例时不工作/显示

ANTLR4';s TreeViewer在运行JUnit测试用例时不工作/显示,junit,antlr,junit4,antlr4,Junit,Antlr,Junit4,Antlr4,在运行JUnit测试用例时调用调用ANTLR4的TreeViewer类的方法时,不会显示带有树的对话框 当调用相同的方法时,通常使用相同的参数,带有树的对话框会完美地显示出来 我错过了什么?这是JUnit默认禁用的东西,需要启用它才能弹出对话框吗 请告知。谢谢 PS:这是我用来显示树的代码: if (displayTree) { System.setProperty("java.awt.headless", "false"); TreeView

在运行JUnit测试用例时调用调用ANTLR4的TreeViewer类的方法时,不会显示带有树的对话框

当调用相同的方法时,通常使用相同的参数,带有树的对话框会完美地显示出来

我错过了什么?这是JUnit默认禁用的东西,需要启用它才能弹出对话框吗

请告知。谢谢

PS:这是我用来显示树的代码:

if (displayTree) {
   System.setProperty("java.awt.headless", "false");
   TreeViewer viewer = new TreeViewer(Arrays.asList(parser.getRuleNames()), tree);
   viewer.open();
    Trees.inspect(tree, parser);
}

您能添加一些代码以便其他人可以轻松地复制它吗?单元测试不应该无头运行吗?如果需要人机交互,那么它们就不再是真正的单元测试了。JUnit可能会将
java.awt.headless
设置为
true
。如果将其反转,可能树查看器将是visisble。也看看谢谢,伙计们!为了对单元测试进行故障排除,我希望能够显示解析树。我在单元测试中有一个标记,可以设置为开/关,这样我在上面的PS中添加的代码就可以运行了。顺便说一句,如果将headless属性设置为true,则可以防止在正常(通常没有问题)模式下显示。所以@BartKiers,你发现了什么。但是,设置为false会使正常模式再次工作,但JUnit模式仍处于中断状态:-(你能添加一些代码以便其他人可以轻松地复制它吗?难道单元测试不应该运行headless吗?如果有必要进行人机交互,那么它们就不再是真正的单元测试了。JUnit可能会将
java.awt.headless
设置为
true
。如果你将其反转,可能树查看器将是visisble。还请看一看,谢谢,伙计们!为了对单元测试进行故障排除,我希望能够显示解析树。我在单元测试中有一个标记,可以将其设置为开/关,以便运行我在上面PS中添加的代码。另外,如果将headless属性设置为true,则会阻止以正常方式显示(通常没有问题)mode.So@BartKiers,你发现了一些东西。但是,设置为false会使正常模式再次工作,但JUnit模式仍然被破坏:-(