Java 如何在JUnit5中编写描述?

Java 如何在JUnit5中编写描述?,java,unit-testing,junit,tdd,junit5,Java,Unit Testing,Junit,Tdd,Junit5,我正在使用这种方法对各种模块进行编码和测试 我想做什么?: 我想为我所有的测试用例写一些描述,以便任何人都能轻松阅读 我现在如何写描述? @Test @DisplayName("Description about my test case.") public void addTwoObjects_onInvalidMapping_shouldReturnAnError(){ . . . } 我不想如何写描述?:我不想使用注释来写代码描述 另外,我不想使用J

我正在使用这种方法对各种模块进行编码和测试


我想做什么?: 我想为我所有的测试用例写一些描述,以便任何人都能轻松阅读

我现在如何写描述?

@Test
@DisplayName("Description about my test case.")
public void addTwoObjects_onInvalidMapping_shouldReturnAnError(){
  .
  . 
  .
}
我不想如何写描述?:我不想使用注释来写代码描述



另外,我不想使用JUNIT5中当前使用的
DisplayName()
注释。根据我的理解,此注释旨在重命名技术功能名称,而不是用于编写说明。
参考:

测试类和测试方法可以通过@DisplayName声明自定义显示名称 — 使用空格、特殊字符甚至表情符号 — 它将显示在测试报告中,并由测试运行者和IDE显示[]



这个问题类似于,但有两个不同之处:(a)询问当前一代JUnit 5,以及(b)明确要求放置一个冗长的描述,而不是简单地重命名测试方法的名称。

关于
DisplayName
注释,您是正确的。其目的是简单地提供一个比方法名更可读的名称。这个名称是由提供一个用户界面以监视测试运行的工具来选择的。该注释不适用于冗长的描述和注释

Javadoc Java中的工具使您能够将冗长的描述和注释附加到源代码中。Java包含了一些工具,可以将Javadoc的内容提取出来,作为用自动生成的HTML编写的格式良好的页面进行表示

JUnit测试是Java源代码。所以您的测试源代码可以携带Javadoc,就像您的应用程序源代码可以携带Javadoc一样

您的应用程序可能会有一些特性来帮助编写Javadoc

你写道:

万一公司里有人可能会有新的实习生来。他将了解代码的作用,即使非技术人员也会从描述中获得一些理解

事实上,这正是Javadoc的用途。嵌入到源代码中意味着您不能丢失描述和注释的内容


测试源代码上的Javadoc似乎满足了您的需要。

您对
DisplayName
注释的理解是正确的。其目的是简单地提供一个比方法名更可读的名称。这个名称是由提供一个用户界面以监视测试运行的工具来选择的。该注释不适用于冗长的描述和注释

Javadoc Java中的工具使您能够将冗长的描述和注释附加到源代码中。Java包含了一些工具,可以将Javadoc的内容提取出来,作为用自动生成的HTML编写的格式良好的页面进行表示

JUnit测试是Java源代码。所以您的测试源代码可以携带Javadoc,就像您的应用程序源代码可以携带Javadoc一样

您的应用程序可能会有一些特性来帮助编写Javadoc

你写道:

万一公司里有人可能会有新的实习生来。他将了解代码的作用,即使非技术人员也会从描述中获得一些理解

事实上,这正是Javadoc的用途。嵌入到源代码中意味着您不能丢失描述和注释的内容


测试源代码上的Javadoc似乎满足了您的需要。

您想对描述做些什么吗?@johanneslink我想为我的测试用例编写描述。所以,万一公司里有人可能会来新的实习生。他将了解代码的作用,即使非技术人员也会从描述中获得一些理解。更重要的是,有时我甚至忘记了:)一个月后我的测试用例是用来做什么的。虽然函数名有助于记忆,但不能给出清晰的图像。@ZahidKhan-
我想对我的测试用例进行描述。所以,万一公司里有人可能会来新的实习生。他将了解代码所做的事情,即使非技术人员也会从描述中获得一些了解。…
-仅用于此目的。如果你不想使用它,那是你的问题;Java不会因为这种奇怪的恶意而改变。我必须同意,你测试的源代码(不是你的应用程序源代码)中的Javadoc对我来说是合适的。您知道吗,Java附带了一些工具来生成格式良好的网页(HTML),就像您在中看到的那样?我建议您编辑您的问题,以解释Javadoc如何不能满足您的需求。请看。@ArvindKumarAvinash我在编写代码部分时使用的是javadocs。但是,当我编写测试用例时,我相信Junit中应该有一些用于此类用例的注释。测试(JUNIT)和编码(JAVA)应该分开。你想对描述做些什么吗?@johanneslink我想给我的测试用例写描述。所以,万一公司里有人可能会来新的实习生。他将了解代码的作用,即使非技术人员也会从描述中获得一些理解。更重要的是,有时我甚至忘记了:)一个月后我的测试用例是用来做什么的。虽然函数名有助于记忆,但不能给出清晰的图像。@ZahidKhan-
我想对我的测试用例进行描述。所以,万一公司里有人可能会来新的实习生。他将了解代码所做的事情,即使非技术人员也会从描述中获得一些了解。…
-仅用于此目的。如果你不想使用它,那是你的问题;Java不会因为这种奇怪的恶意而改变。我必须同意,你测试的源代码(不是你的应用程序源代码)中的Javadoc对我来说是合适的。你知道J