dev*_*ull 2 java junit unit-testing junit4
如何使用JUnit 4指定人类可读的测试名称(在IDE和测试报告中显示)?
理想情况下,通过自动转换实际的测试名称。
我认为“可读名称”主要是指带有空格的测试名称。
对于此问题,我最喜欢的解决方案是使用下划线而不是空格。这是唯一可以与IDE完美配合的解决方案。例如,您可以通过单击鼠标从测试执行面板跳到测试。
@Test
public void the_server_accepts_connections_with_password() {
...
}
Run Code Online (Sandbox Code Playgroud)
请查看FakeSftpServerRuleTest,以获取使用此样式的完整测试类。
还有其他解决方案,但是所有这些都需要您编写自己的Runner。
您可以构建一个支持类似于JUnit Jupiter的@DisplayName批注的Runner。
您可以构建一个Runner,将下划线从测试方法的名称转换为用于测试显示名称的空格。
这些解决方案的问题在于,IDE无法再将测试结果与测试方法相关联。
警告:不要这样做!
只是为了完整性。Unicode中有各种空格字符,其中一些可以成为Java中方法名称的一部分。您可以使用它们来编写测试名称。您仍然具有适当的IDE支持。不过:不要这样做。代码的读者不会意识到这种魔力而变得绝望。
| 归档时间: |
|
| 查看次数: |
2711 次 |
| 最近记录: |