私はかなり混乱しています。現在、私は春のアプリケーションを使用してテストしています
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
RegularExpressionsと一致させたい限り、私は幸せでした。 hamcrest 1.3では、独自のマッチャーを作成する必要がありますが、これはあまり好きではありませんでした。私が検索したところ、hamcrest 2.0には次のようなものが組み込まれています。
assertThat(DateHelper.getActualDateForXML(), MatchesPattern.matchesPattern("\\d{4}+-\\d{2}-+\\d{2}+T\\d{2}+:\\d{2}+:\\d{2}+"));
私は幸せでした、私は付け加えました:
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-junit</artifactId>
<version>2.0.0.0</version>
<scope>test</scope>
</dependency>
そして、spring-boot-starter-testから1.3 hamcrestの依存関係を除外しました。
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
</exclusion>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
これで、期待どおりにすべてが機能していますが、あまり快適ではありません。私は1.3について書いている人を見つけるだけで、hamcrest-junit 2.0の使用を実際に見つけることができないからです。
誰かがそれらの間の関係を私に説明できますか? hamcrest-junit 2.0にはhamcrest 1.3からすべてが組み込まれているようです...
ありがとうベン
Hamcrest Githubに基づく
私の感想
=>この状況では、Hamcrestの人たちがJUnit 5プロジェクトを待つ/調整してから実質的に前進することが賢明だと思います。
@heeneneeが述べたように、hamcrestの人たちは他のことで忙しくなり、この時点ではプロジェクトではあまり起こっていません。
回答する
誰かがそれらの間の関係を私に説明できますか? hamcrest-junit 2.0にはhamcrest 1.3からすべてが組み込まれているようです
...でも、本当に気持ちがいいんです。 1.3について書いている人を見つけるだけで、hamcrest-junit 2.0の使い方を実際に見つけることができないからです。
現時点では、あなたの場合を除いて、hamcrest-junit 2.0に移行する動機はあまりありません。 Junit 5がリリースされたら、もう一度前進するインセンティブが増えると思います。
Hamcrestプロジェクトには リリース2.1 があり、 パッケージ構造を作り直した の後に 徹底的な検討 があります。 アップグレード手順 に従ってください。アーティファクトJava-hamcrest 2.0.0.0は 失敗した試行 と見なされます。
Ivo によるすばらしい回答です。これは実際にはより多くの票を獲得するはずですが、追加情報がいくつかあります。依存関係の情報についてMavenをチェックする場合、 Java Hamcrest 2.0.0. および Hamcrest JUnit 2.0.0. には、いくつかの sage リンクがあります。これを書いている時点では、それぞれ74と68であり、簡単なブラウジングからの大きなプロジェクトはありません。