JUnit: 一般に、次のようなテスト クラスを記述し、テストを含むメソッドに @Test で注釈を付けます。失敗しなければならないテストを書きたい場合は、アノテーションの 'expected' 属性を使用できます。テストの実行時間が長すぎる可能性があり、一定時間後にタイムアウトすることがわかっている場合は、注釈で「timeout」属性を使用します。
各テスト メソッドの前に初期化のための特定のロジックがある場合は、それを別のメソッドに入れ、@Before で注釈を付けます。同様に、ものを解放するには、@After を使用します。テスト クラスごとに 1 回実行される初期化の場合、アノテーション @BeforeClass を使用し、メソッドが public かつ static であることを確認します - @AfterClass と同じ話です。
一般に、各テスト メソッドでは、次のように行います。コードの一部を実行してから、想定されるケースについてアサーションを行います。私の例では、'myAdd' メソッドをテストしており、1+1 の合計が 2 になることを期待しています。
public class MyTest {
@Test
public void testAddition() {
int sum = myAdd(1, 1);
assertEquals(2, sum);
}
}
この例は JUnit に基づいています: https://github.com/junit-team/junit/wiki
TestNG のような代替手段があります: http://testng.org/doc/index.html
依存関係に関連して特定のクラスの動作をテストする場合は、モック フレームワークをお勧めします。例: jmock、mockito など