Visual studio code vscode代码扩展java测试运行程序既不显示消息也不显示堆栈跟踪

Visual studio code vscode代码扩展java测试运行程序既不显示消息也不显示堆栈跟踪,visual-studio-code,junit5,Visual Studio Code,Junit5,当我运行测试时,我想在Java测试报告窗口中看到我的Junit消息和堆栈跟踪。此窗口是名为Java Test Runner的vscode扩展的一部分 当我运行测试时,我可以看到测试是通过还是失败。结果在堆栈跟踪和消息体中均为N/A(未获取) 我试图找出为什么我的java测试运行程序不能在java测试报告中显示消息或stacktrace。这就是我被卡住的地方 我尝试使用java test runner的settings.json文件中的“java.test.log.level”:“verbose”

当我运行测试时,我想在Java测试报告窗口中看到我的Junit消息和堆栈跟踪。此窗口是名为Java Test Runner的vscode扩展的一部分

当我运行测试时,我可以看到测试是通过还是失败。结果在堆栈跟踪和消息体中均为N/A(未获取)

我试图找出为什么我的java测试运行程序不能在java测试报告中显示消息或stacktrace。这就是我被卡住的地方

我尝试使用java test runner的settings.json文件中的“java.test.log.level”:“verbose”运行测试。但是我在java测试报告中没有看到任何区别。此步骤基于rohinwork的帖子:

这里有一个基本的Junit代码类来解决我的问题

import static org.junit.jupiter.api.Assertions.assertTrue;


import org.junit.jupiter.api.Test;

/**
 * Unit test for simple App.
 */
public class AppTest 
{
    /**
     * Rigorous Test :-)
     */
    @Test
    public void shouldAnswerWithTrue()
    {
        assertTrue( true );
    }

}
  • 我的软件:我正在使用最新版本的vscode 1.51.1(在撰写本文时),最新的java采用OpenJDK 14.0.2+12(在撰写本文时推荐的最新版本)
  • 我的设置:我正在windows本地以可移植模式使用visual studio代码

正如您所说,测试报告仅用于显示失败消息或堆栈跟踪

给定您给出的示例代码,
assertTrue(true);
不会使测试失败。因为测试通过,所以没有失败的消息/堆栈跟踪。这就是为什么您在测试报告中看到
N/A

顺便说一句,如果您想查看自己程序的一些日志,它们会打印在调试控制台中

@测试
void testMessage()抛出{
System.out.println(“Hi”);
}
您将在调试控制台中看到
Hi

更新
有一个问题正在考虑遵循Java调试器的执行位置:

感谢您指出我的堆栈跟踪问题。但这只涵盖了我问题的一部分。我的另一个问题是Java test reporter中没有消息。如果我查看上的其他示例,我发现无论如何都不需要使用它。我可以利用语法测试来指出代码库中的错误。只有失败的案例才会有错误消息/堆栈跟踪。如果您的测试案例通过,则报告中不会显示该已通过案例的消息/堆栈跟踪。您能否给出一个其他人可以用来查看消息如何工作的小示例函数?提前谢谢!啊,我很高兴ess我现在知道你的想法了。刚刚检查了当前的实现,消息将只显示TestNG框架。这就是为什么你看不到它。