vscode 代码扩展 java 测试运行器既不显示消息也不显示堆栈跟踪
vscode code extension java test runner neither shows a message nor a stack trace
我想在 运行 测试时在 Java 测试报告 window 中查看我的 Junit 消息和堆栈跟踪。此 window 是名为 Java Test Runner 的 vscode 扩展的一部分。
当我 运行 测试时,我可以查看测试是通过还是失败。结果在堆栈跟踪和消息正文中都是 N/A(未获取)。
我试图找出为什么我的 java 测试 运行ner 无法在 java 测试报告中显示消息或堆栈跟踪。这就是我卡住的地方。
我已经尝试 运行 在 java 测试 运行 的 settings.json 文件中使用 "java.test.log.level": "verbose"
进行测试。但是我看java测试报告没有区别。此步骤基于 post 的 rohinwork:https://github.com/microsoft/vscode-java-test/issues/702#issuecomment-492992483
这是一个基本的 Junit 代码 class 来解决我的问题。
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 );
}
}
- 我的软件: 我用的是最新版的vscode1.51.1(写这篇文章的时候post),最新的java采用OpenJDK 14.0.2+12(写这篇文章时推荐的最新post.
- 我的设置: 我在 windows
上以便携模式本地使用 visual studio 代码
正如您所说,测试报告仅用于显示失败消息或堆栈跟踪。
鉴于您提供的示例代码,assertTrue( true );
不会通过测试。由于测试通过,所以没有失败的message/stack痕迹。这就是为什么您在测试报告中看到 N/A
。
顺便说一句,如果你想查看你自己程序的一些日志,它们会打印在调试控制台中。比如你的测试代码写成
@Test
void testMessage() throws {
System.out.println("Hi");
}
您将在调试控制台中看到 Hi
:
更新
有一个问题正在考虑跟随 Java 调试器的执行位置:https://github.com/microsoft/vscode-java-test/issues/1106
我想在 运行 测试时在 Java 测试报告 window 中查看我的 Junit 消息和堆栈跟踪。此 window 是名为 Java Test Runner 的 vscode 扩展的一部分。
当我 运行 测试时,我可以查看测试是通过还是失败。结果在堆栈跟踪和消息正文中都是 N/A(未获取)。
我试图找出为什么我的 java 测试 运行ner 无法在 java 测试报告中显示消息或堆栈跟踪。这就是我卡住的地方。
我已经尝试 运行 在 java 测试 运行 的 settings.json 文件中使用 "java.test.log.level": "verbose"
进行测试。但是我看java测试报告没有区别。此步骤基于 post 的 rohinwork:https://github.com/microsoft/vscode-java-test/issues/702#issuecomment-492992483
这是一个基本的 Junit 代码 class 来解决我的问题。
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 );
}
}
- 我的软件: 我用的是最新版的vscode1.51.1(写这篇文章的时候post),最新的java采用OpenJDK 14.0.2+12(写这篇文章时推荐的最新post.
- 我的设置: 我在 windows 上以便携模式本地使用 visual studio 代码
正如您所说,测试报告仅用于显示失败消息或堆栈跟踪。
鉴于您提供的示例代码,assertTrue( true );
不会通过测试。由于测试通过,所以没有失败的message/stack痕迹。这就是为什么您在测试报告中看到 N/A
。
顺便说一句,如果你想查看你自己程序的一些日志,它们会打印在调试控制台中。比如你的测试代码写成
@Test
void testMessage() throws {
System.out.println("Hi");
}
您将在调试控制台中看到 Hi
:
更新
有一个问题正在考虑跟随 Java 调试器的执行位置:https://github.com/microsoft/vscode-java-test/issues/1106