TestNGとJUnit4のもっとも大きな違いはテストクラスのインスタンス生成だ。 あるテストクラスに複数のテストメソッドがあるとき、2つのフレームワークはこう振る舞う。 TestNGは(基本的に)テストクラスのインスタンスは1つしか作らない JUnit4はテストメソッドの数だけインスタンスを生成する なので、JUnit4の方が大量のテストケースを実行すると、(インスタンス生成の分)コストがかかる。 ただ、これは一概に悪とは言えなくて、各テストメソッドの独立性に深くかかわってる。 テストメソッドの独立性 複数のテストメソッドを実行するときに同じインスタンスを使い回すと、インスタンス変数の値によってテストの成否が変わる可能性がある(テストクラスにインスタンス変数がある場合など)。 つまりテストが独立していないということ。 JUnit4は(3の時代からだが)この考え方を忠実に守って、テストメソ