2016-03-25 16 views
4

在JUnit 5中,有一個新標註:@NestedJUnit 5 @Nested標註的用途是什麼

我理解它是如何工作的,我明白了爲什麼我們使用嵌套類, 我只是不明白爲什麼我們需要有嵌套測試類在我們的測試。

+5

形成測試用例的邏輯分組。 –

+0

添加到...小例子:EatsTest,BehaviourTest可以嵌套在DogTest等內。請參閱http://junit.org/junit5/#nested-tests –

+1

該鏈接應該是:http://junit.org/junit5/docs/current/user-guide /#nested-tests –

回答

6

@Nested註釋允許您擁有一個基本上是測試類的內部類,允許您將同一父級下的幾個測試類分組(使用相同的初始化)。

0

我所有的測試都需要運行一個數據庫服務器。我的大多數測試還需要在數據庫中有一個Users表,以便能夠登錄。除此之外,一些測試需要Friends表,以便能夠登錄和查詢朋友。

每個資源都有一個設置和拆卸。我必須啓動和停止服務器,創建和刪除表。

使用@Nested註解,我可以將我的測試分組爲嵌套類的層次結構,以便每個測試都可以在層次結構中進行所有測試的設置和拆卸。

這個嵌套測試的想法在Ruby中得到了推廣。 Java是由hirarchicalcontextrunner爲Junit 4實現的。請參閱其頁面https://github.com/bechte/junit-hierarchicalcontextrunner/wiki的理由。