2つのJUnit Assertクラスの違い 質問する

2つのJUnit Assertクラスの違い 質問する

JUnit フレームワークには 2 つのAssertクラス (当然ながら異なるパッケージ) が含まれており、それぞれのメソッドは非常によく似ているように見えます。なぜそうなるのか説明できる人はいますか?

私が言及しているクラスは、junit.framework.Assertとですorg.junit.Assert

ベストアンサー1

以前の方法 (JUnit 3) では、 を拡張してテスト クラスをマークしていましたjunit.framework.TestCase。これにより、junit.framework.Assertそれ自体が継承され、テスト クラスはこのようにアサート メソッドを呼び出すことができるようになりました。

JUnit バージョン 4 以降、フレームワークはAnnotationsテストのマーキングに を使用します。そのため、 を拡張する必要はなくなりましたTestCase。ただし、これはアサート メソッドが利用できないことを意味します。ただし、新しいAssertクラスを静的にインポートすることはできます。これが、新しいクラスのすべてのアサート メソッドが静的メソッドである理由です。したがって、次のようにインポートできます。

import static org.junit.Assert.*;

この静的インポートの後、プレフィックスなしでこのメソッドを使用できます。

org.junit再設計時に、パッケージ命名に関する通常の規則により適切に従った新しいパッケージに移行しました。

おすすめ記事