如何在JUnit5中编写测试用例的描述?

h43kikqp  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(494)

我使用测试驱动的开发方法来编码和测试各种模块。
我想做什么我想给我所有的测试用例写一些描述,这样任何人都可以很容易地阅读。
我现在写的描述怎么样?

@Test
@DisplayName("Description about my test case.")
public void addTwoObjects_onInvalidMapping_shouldReturnAnError(){
  .
  . 
  .
}

我怎么不想写描述?:我不想用注解来写代码的描述。
另外,我不想用 DisplayName() 我目前在junit5中使用的注解。根据我的理解,此注解是为了重命名技术功能名称,而不是为了编写说明。
参考文献:
测试类和测试方法可以通过@displayname声明自定义显示名称 — 有空格,特殊字符,甚至表情符号 — 它将显示在测试报告中,并由测试运行程序和IDE显示[2]
这个问题类似于junit测试描述,但有两个区别:(a)询问当前一代的junit5,和(b)明确要求放置一个冗长的描述,而不是简单地重命名测试方法的名称。

3z6pesqy

3z6pesqy1#

你说的对 DisplayName 注解。其目的是简单地提供一个比方法名更可读的名称。这个名字意味着由一个工具获取,这个工具提供了一个用户界面来监视测试的运行。该注解不适用于冗长的描述和注解。

java 文档

java中的javadoc工具使您能够将冗长的描述和注解附加到源代码中。java包含了一些工具,可以将javadoc的内容提取出来,作为用自动生成的html编写的格式良好的页面来表示。
junit测试是java源代码。所以你的测试源代码可以携带javadoc,就像你的应用程序源代码可以携带javadoc一样。
您的ide可能会有一些特性来帮助编写javadoc。
你写道:
万一公司里有人来了新实习生。他将从描述中获得一些关于代码所做的事情的见解,甚至非技术人员也将从描述中获得一些理解。
实际上,这正是javadoc的用途。嵌入源代码意味着您不能丢失描述和注解的内容。
javadoc上的源代码似乎满足了你的测试需求。

相关问题