2012-02-18 5 views

答えて

2

非常に曖昧な質問です。具体的には、JUnitテストの実行方法については言及していませんでした。また、 'file'に言及し、ファイルにはいくつかのJUnitテストを含めることができます。これらのテストの前に、またはそれらのいずれかが実行される前に、外部コマンドを実行しますか?

トピックに関する

しかし、もっと:

あなたは@Before注釈とメソッドを持つメソッドにタグを付けることができ、あなたはJUnitの4以上を使用している場合は、あなたのタグを付け@Testの各メソッドの前に実行されます。代わりに、静的voidメソッドに@BeforeClassをタグ付けすると、そのクラス内の@Testメソッドが実行される前に実行されます。

public class MyTestClass { 

    @BeforeClass 
    public static void calledBeforeAnyTestIsRun() { 
     // Do something 
    } 

    @Before 
    public void calledBeforeEachTest() { 
     // Do something 
    } 

    @Test 
    public void testAccountCRUD() throws Exception { 
    } 
} 

あなたは、あなたが@Before@BeforeClassのための代替品としてsetUp()setUpBeforeClass()メソッドをオーバーライドすることができ、4より前のJUnitのバージョンを使用している場合。あなたはすべてのユニットテスト用の外部コマンドを実行したい場合は、

@Test 
public void shouldDoStuff(){ 
    Process p = Runtime.getRuntime().exec("application agrument"); 
    // Run the rest of the unit test... 
} 

あなたは@Beforeセットアップ方法でそれを行う必要があります:あなたはJUnitの4.0を使用していると仮定すると、

public class MyTestClass extends TestCase { 

    public static void setUpBeforeClass() { 
     // Do something 
    } 

    public void setUp() { 
     // Do something 
    } 

    public void testAccountCRUD() throws Exception { 
    } 
} 
+0

ありがとうございました。あなたの投稿は本質的に私の質問に答えますが、私は言語そのものに依存しないもの(Run configurationなど)を期待していました。 – Petr

+0

@Petr - probなし。 JUnitは非常にタイトで、よく定義されたライブラリです(ほとんどの人がそれについて気に入っているものの1つです)。何らかの外部設定をカスタマイズしたい場合、詳細を指定する必要があります。つまり、IDEなどでMaven、Antなどでテストを起動していますか? – Perception

+0

@Petr-nvmあなたの質問を編集しました。 JUnitの呼び出しの一部として実行する外部コマンドを構成できるとは思いません。しかし、私が概説した他の方法はうまくいくはずです。 – Perception

1

は、次の操作を行うことができ。