2011-12-18 9 views

答えて

1

私が理解しているように、BeforeTestは一連のテストが実行される前に実行され、そのテストのセットに対して定義可能なメソッドを指定します。 JUnitには通常のスイートを除いて同等のグループ化はありませんので、スイートを定義して通常通りスイートに@BeforeClass@AfterClassを使用する必要があります。

さらに複雑な動作が必要な場合は、TestRule、特にExternalResourceを参照してください。

1
TestNGのと同じように馴染み

ないが、私の理解から、あなたはCategoriesの組み合わせ、Suiteと似たようなことを行うことができ、かつ@BeforeClass/@AfterClass。例えば

@Category(IntegrationTest.class)としてあなたのテストフラグ物事内すると
import org.junit.BeforeClass; 
import org.junit.experimental.categories.Categories; 
import org.junit.experimental.categories.Categories.IncludeCategory; 
import org.junit.runner.RunWith; 
import org.junit.runners.Suite.SuiteClasses; 


@RunWith(Categories.class) 
@SuiteClasses(MyClassTest.class) 
@IncludeCategory(IntegrationTest.class) 
public class StaticTests { 
    @BeforeClass 
    public static void setUp() { 
     System.out.println("Hello, World!"); 
    } 
} 

、あなたがテスト-から複数の異なるテストクラス - あなたの周りの初期化を実行できるの論理的なグループを持っています。

カテゴリを使用すると、特定のテストにフラグを立てることができます(ただし、最初にクラスを分けた場合)。関連するものをスイートに含めることも、ベースクラスから継承することもできますそこにその構成があります。どちらが最適かは、テストと特定のユースケースをどのようにグループ化するかによって異なります。

Matthew Farwellには、TestRuleもあります。これは、一連のテストを設定するための少し細かいコントロールを提供します。

関連する問題