1

私は今テストを書いていますが、最初はすべて非常に似ていることに気づいています。

@Test
public void testThisMemoryOperation() {
    Assert.assertEquals("Sanity check failed, shouldn't be anything in memory yet.",
            0, memoryManager.getObjectsInMemory());
    /* ... */
}

@Test
public void testThatMemoryOperation() {
    Assert.assertEquals("Sanity check failed, shouldn't be anything in memory yet.",
            0, memoryManager.getObjectsInMemory());
    /* ... */
}

@Test
public void testTheOtherMemoryOperation() {
    Assert.assertEquals("Sanity check failed, shouldn't be anything in memory yet.",
            0, memoryManager.getObjectsInMemory());
    /* ... */
}

これは不必要に繰り返されるようです。このコードを各テストの開始時に単純なメソッド呼び出しに置き換えて健全性チェックアサーションを実行する@Ruleこともできますが、特定のメソッドを実行する前にこのテストを単純に実行するために使用できるネイティブJUnitアノテーションはありますか?

4

3 に答える 3

3

単純なメソッドを作成して呼び出すだけではどうでしょうか。何かのようなもの:

private void test() {
    Assert.assertEquals("Sanity check failed, shouldn't be anything in memory yet.", 0, memoryManager.getObjectsInMemory());
}
于 2012-08-03T18:41:56.660 に答える
0

ステートメントが評価された後にチェックを追加するベリファイアルールの場合に最も近いもの。ソースを見て、PreconditionRuleを作成するのは非常に簡単です。

于 2012-08-07T10:59:36.103 に答える
0

このメソッドを基本クラスに入れて、テストでそのクラスを拡張してみませんか?毎回自動的に実行されます(少なくともTestNGでは実行されますが、JUnitは継承もサポートしていると思います)。

于 2012-08-04T16:24:47.120 に答える