ATDD を作成するために Cucumber フレームワークを使用しています。Cucumber テストを実行しようとすると、以下のエラーが発生します。
[INFO] Running my.package.RunCukesTests
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.146 s <<< FAILURE! - in my.package.RunCukesTests
[ERROR] initializationError(my.package.RunCukesTests) Time elapsed: 0.005 s <<< ERROR!
java.lang.NoClassDefFoundError: io/cucumber/stepexpression/TypeRegistry
Caused by: java.lang.ClassNotFoundException: io.cucumber.stepexpression.TypeRegistry
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] RunCukesTests.initializationError » NoClassDefFound io/cucumber/stepexpression...
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
以下は Cucumber の依存関係です。
<properties>
<cucumber.version>3.0.2</cucumber.version>
</properties>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java8</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
RunCuckesTest.java
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(plugin = { "html:target/test_results/html/TestRunner/cucumber-html-report",
"json:target/test_results/json/TestRunner-reports.json", "pretty" }, tags = { "" }, features = {
"src/test/resources/" }, glue = {
"glue/package/steps",
"glue/package1/steps" })
public class RunCukesTests {
}
同様の例外でスレッドを検索すると、複数の依存関係が原因で、または異なるバージョンの不一致を使用している場合に発生する可能性があることがわかります。しかし、ここでは同じバージョンを使用していますが、同じバージョンを使用しているときに問題がどこにあるのかわかりません。
どんな助けでも本当に感謝しています。前もって感謝します。