繁体   English   中英

JUnit 4中易于阅读的测试名称

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM