[英]Human readable test names in JUnit 4
如何使用JUnit 4指定人类可读的测试名称(在IDE和测试报告中显示)?
理想情况下,通过自动转换实际的测试名称。
我认为“可读名称”主要是指带有空格的测试名称。
对于此问题,我最喜欢的解决方案是使用下划线而不是空格。 这是唯一可以与IDE完美配合的解决方案。 例如,您可以通过单击鼠标从测试执行面板跳到测试。
@Test
public void the_server_accepts_connections_with_password() {
...
}
请查看FakeSftpServerRuleTest ,以获取使用此样式的完整测试类。
还有其他解决方案,但是所有这些都需要您编写自己的Runner 。
您可以构建一个支持类似于JUnit Jupiter的@DisplayName批注的Runner 。
您可以构建一个Runner,将下划线从测试方法的名称转换为用于测试显示名称的空格。
这些解决方案的问题在于,IDE无法再将测试结果与测试方法相关联。
警告:不要这样做!
只是为了完整性。 Unicode中有各种空格字符,其中一些可以成为Java中方法名称的一部分。 您可以使用它们来编写测试名称。 您仍然具有适当的IDE支持。 不过:不要这样做。 代码的读者不会意识到这种魔力而变得绝望。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.