web-dev-qa-db-ja.com

JUnit-Vintage-EngineとJunit-Jupiter-Engineの違いは?

それは二倍の質問です。

  1. junit-vintage-enginejunit-jupiter-engineの違いは何ですか?
  2. SpringBootスタータープロジェクトにはjunit-vintage-engineの除外が付いています。 Junit-Jupiter-Engineの使用を強制することですか?

以下は、私のSpringBootプロジェクトの依存関係から生成されたものです Spring Initiizr

        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
8
Sandeep Kumar

答え:1。読書に基づいて、私はいくつかの違いを見つけました、

junit-vintage-engine :

  • JUNIT-4テストで使用されます。
  • コアクラスとアノテーションを呼び出すために使用されます。
  • テストを実行するための主張方法を提供する「アサート」。
  • 前提条件を配置するために使用される「仮定」。
  • @ignore、@beforeなどのような注釈を使用する...

junit-jupiter-engine :

  • JUNIT-5テストで使用されます
  • テストケースを書くのに役立つものをいくつか提供してください。
  • 「アサーション」は、テストのための主張条件のユーティリティメソッドを提供します。
  • 「仮定」 - ユーティリティ方法は仮定に基づいて条件を提供します。
  • @disable、@beforeall、@beforeeachなどのような注釈名のビットを変更してください。

答え:2。私はまだ年配のビンテージライブラリを提供しています。

ごきげんよう!!! :)

2
Dhwanil Patel

最初の質問はJDKのバージョンと関連しています。 Jupiter Engineを使用できるようにするには、Java 8以上が必要です。 2番目の質問のために。ヴィンテージエンジンはJUNIT4とjunit4のためのものであるため、10歳以上であるため、使用することはお勧めできません。私が知っている限りでは、Javaがそれほど進化していますが、これに沿って更新されていません。それが春のイニシャライザーがJunit-Jupiter-Engineの使用を強制する理由だと思います。

1
Ömer