1. ホーム

[解決済み】2つのJUnit Assertクラスの相違点

2022-04-18 09:43:38

質問

JUnitフレームワークには、2つの Assert クラスがあり、それぞれのメソッドは非常によく似ているように見えます。なぜそうなるのか、誰か説明できますか?

私が参照しているクラスは junit.framework.Assert org.junit.Assert .

解決方法は?

旧来の方法(JUnit 3)は、テストクラスをマークするために junit.framework.TestCase . これは junit.framework.Assert を作成し、テストクラスはこの方法でアサートメソッドを呼び出すことができるようになりました。

JUnit のバージョン 4 以降、フレームワークでは Annotations を使用してテストをマークします。そのため TestCase . しかし、それはつまり、assertメソッドが使えないということです。しかし、静的インポートで新しい Assert クラスがあります。そのため、新しいクラスのassertメソッドはすべてstaticメソッドになっています。だから、この方法でインポートすることができます。

import static org.junit.Assert.*;

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

また、再設計時に新しいパッケージである org.junit これは、パッケージの命名規則によりよく従ったものです。