运行测试时,我想在Java测试报告窗口中查看Junit消息和堆栈跟踪。该窗口是名为Java Test Runner的vscode扩展的一部分。
运行测试时,我可以查看测试是否通过。结果在堆栈跟踪和消息正文中均为N / A(未获取)。
我正试图找出为什么我的Java测试运行器无法在Java测试报告中显示消息或stacktrace的原因。那就是我被困住的地方。
我尝试使用Java测试运行程序的settings.json文件中的"java.test.log.level": "verbose"
运行测试。但我认为Java测试报告没有区别。此步骤基于rohinwork帖子:https://github.com/microsoft/vscode-java-test/issues/702#issuecomment-492992483
这是一个基本的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 );
}
}
答案 0 :(得分:1)
正如您所说,测试报告仅用于显示失败的消息或堆栈跟踪。
鉴于您提供的示例代码,assertTrue( true );
不会通过测试。由于测试通过,因此没有失败的消息/堆栈跟踪。这就是为什么您在测试报告中看到N/A
的原因。
顺便说一句,如果您想查看自己程序的某些日志,则将它们打印在调试控制台中。例如,如果您的测试代码写为
@Test
void testMessage() throws {
System.out.println("Hi");
}
正在考虑遵循Java调试器的执行位置的问题:https://github.com/microsoft/vscode-java-test/issues/1106