メソッドが@Before
と注釈されたクラスでJUnit @Test
メソッドを実行できますが、このテストでは@Before
メソッドを無視しますか?@ Before/@ Afterを無視するJunit @Testを実行する
編集:JUnitがこの機能をサポートしている場合は、、回避策ではないと私は興味があります。私は、別のクラスでテストを移動する、またはアノテーションを削除し、各テストメソッドで手動でsetUp()
を呼び出すような回避策を認識しています。
クラス内には30個のテストがあり、そのうちの29個については@Before
がテストの初期化を非常に簡略化しますが、1つ(または複数)は役に立たない/複雑です。
public class MyTestClass {
@Before
public void setUp() {
//setup logic
}
@Test
public void test1() {
//[...]
}
@Test
public void test2() {
//[...]
}
//more tests here
@Test(ignoreBefore = true, ignoreAfter = true //false by default)
//something equivalent to this
public void test20() {
//[...]
}
}
'@ Before'と' @ After'アノテーションなしで 'test20'を別のクラスに移動できますか? – user1516873
@ user1516873技術的にははいですが、クラスのすべてのテストを1つのテストクラスに保存したいと考えています。クラスが設計/開発されたとき、テストは考慮されず、リファクタリングも解決策ではありません。また、単体テストの定義によれば、単体テストは独立しており、別々に実行することができます。 – m3th0dman