2 回答

TA貢獻1854條經驗 獲得超8個贊
@Tag用于測試類和方法。它與所述測試的設置/拆卸無關。
您可以將這些測試拆分為單獨的測試類,也可以利用Nested Test。嵌套測試可能看起來像這樣:
@DisplayName("A stack")
class MathTest {
? ? @Nested
? ? @DisplayName("when new")
? ? @Tag("add")
? ? class Add {
? ? ? ? @BeforeEach
? ? ? ? void setupAdding() {
? ? ? ? ? ? // ...
? ? ? ? }
? ? ? ? @Test
? ? ? ? @DisplayName("can add")
? ? ? ? void canAdd() {
? ? ? ? ? ? // ...
? ? ? ? }
? ? }
? ? @Nested
? ? @DisplayName("minus")
? ? @Tag("minus")
? ? class Minus {
? ? ? ? @BeforeEach
? ? ? ? void setupMinus() {
? ? ? ? ? ? // ...
? ? ? ? }
? ? ? ? @Test
? ? ? ? @DisplayName("can subtract")
? ? ? ? void testMinus() {
? ? ? ? ? ? // ...
? ? ? ? }
? ? }
}

TA貢獻1811條經驗 獲得超5個贊
我認為 @Tag 注釋只是為了按照共同特征對測試進行分類。如果您需要不同的setUp()和teardown(),我想正確的方法是將它們分開在不同的測試類中,而不是使用標簽注釋。
添加回答
舉報