表面上來看,使用方式和 Junit4 差異不大,可是與 JUnit4 比較起來仍是有些不一樣的。java
@Test: 表示該方法是一個測試方法。與JUnit 4的@Test註解不一樣的是,它沒有聲明任何屬性,由於JUnit Jupiter中的測試擴展是基於它們本身的專用註解來完成的。這樣的方法會被繼承,除非它們被覆蓋。git
使用@Test,@TestTemplate,@RepeatedTest,@BeforeAll,@AfterAll,@BeforeEach或@AfterEach註解的方法不能有返回值。github
測試類和測試方法都沒必要是public。測試
若是您但願JUnit Jupiter在同一個測試實例上執行全部測試方法,只需使用@TestInstance(Lifecycle.PER_CLASS)對您的測試類進行註解便可。當使用這種模式時,每一個測試類將建立一個新的測試實例。所以,若是您的測試方法依賴於存儲在實例變量中的狀態,則可能須要在@BeforeEach或@AfterEach方法中重置該狀態。繼承
"per-class"模式比默認的"per-method"模式有一些額外的好處。具體來講,使用"per-class"模式,能夠在非靜態方法和接口默認方法上聲明@BeforeAll和@AfterAll。所以,"per-class"模式也能夠在@Nested測試類中使用@BeforeAll和@AfterAll方法。接口