2016-11-08 6 views
4

Java8のために最新のassertj-coreを使用したいと思います(例えば、オプションにアサートするなど)。 私はspring-boot-starter-test 1.4.1を使用します。assertj 2.5.0があらかじめ設定されています。スプリングブートスターターテスト1.4.1 - assertj-core 3.5.xを使用する

私は春先の親親子は使用できません。

私はmavenプロジェクトをセットアップすることで、3.5.2でバージョン2.5.0を除外または上書きすることはできますか?私はプロパティを設定する

  • を試してみましたspring-boot-dependencies

Updateでstarter-test dependency

  • 追加除外に除外を追加assertj.version
  • 私はカスタム "test" を設定しています私のマルチモジュールプロジェクトのすべてのモジュール用のモジュール。私はスプリングテストスターターだけでなく、いくつかの他の依存関係やいくつかのテストクラスとルールを必要としています。

    これは私のプロジェクトは、次のようになります。私は、テストモジュールにassertjコア除外(および3.5.2が含まれる)とき、

    my-module-root 
    |-my-module-a (using test) 
    |-my-module-b (using test) 
    \-test (including starter-test, ... - in COMPILE scope (because this is a test library)) 
    

    、テストモジュールの依存関係はOKです。 しかし、ルートレベルの依存関係を調べると、クラスパスにassertj-core-2.5.0とassertj-core-3.5.2の両方があります。

  • +0

    モジュールAとBがテスト」にモジュールテストを含んでください"スコープ? "test"モジュール以外のspring-boot-starter-testはどこにも含まれていませんか? –

    +0

    はいとはい。ダブルチェック。私はgithub上の小さなサンプルを作成して確認します... –

    答えて

    1

    あなたはspring-boot-starter-testから除外し、手動で異なるバージョンを追加することができます含まれているバージョンを確認するには

    <dependencies> 
        ... 
        <dependency> 
         <groupId>org.springframework.boot</groupId> 
         <artifactId>spring-boot-starter-test</artifactId> 
         <scope>test</scope> 
         <exclusions> 
          <exclusion> 
           <groupId>org.assertj</groupId> 
           <artifactId>assertj-core</artifactId> 
          </exclusion> 
         </exclusions> 
        </dependency> 
    
        <dependency> 
         <groupId>org.assertj</groupId> 
         <artifactId>assertj-core</artifactId> 
         <version>3.5.2</version> 
         <scope>test</scope> 
        </dependency> 
    </dependencies> 
    

    を:

    $ mvn dependency:tree | grep assertj 
    [INFO] \- org.assertj:assertj-core:jar:3.5.2:test 
    
    +0

    ありがとうございました。それは私の2番目のポイントで何を意味したのですか?すでにこれを試しました。質問に何か言及するのを忘れた –

    関連する問題