CucumberとJUnitを使用してテストシナリオを実行するためのRunTestクラスを作成しました。以前にテストを実行するには、プロジェクトにRunWithクラス(@RunWith)をインポートし、パラメーターとしてCucumber.classを渡す必要があります。次に、クラスのRunWithパラメーターは、それに渡されるパラメーターをさらに認識します。 Eclipseは次のメッセージを表示します。
この行に複数のマーカー-クラスをタイプに解決できません。 -キュウリはタイプに解決できません。 -アノテーション@RunWithは属性値を定義する必要があります
Mavenを使用してJARSファイルを整理しています。以下は、コードとエラー画面です。
私のPOM.XML
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-Java -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-Java</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-core -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-jvm -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<version>1.2.5</version>
<type>pom</type>
</dependency>
</dependencies>
cucumber.api.junit.Cucumber
クラスをインポートします。 Eclipse IDEを使用しているようです。そのため、Ctrl+Shift+o
(ゼロではないアルファベットの「o」)ショートカットを使用してクラスをインポートできます。
(Ctrl+Shift+O
は「インポートの整理」であり、不足しているインポートを追加し、未使用のインポートを削除して、すべてのインポートを注文します)。このコマンドは、[ソース]> [インポートの整理]にもあります。
IntelliJのアイデアでも同じ問題に直面しました。インポートしたライブラリをチェックインすると、以下のスクリーンショットのようになりました。
そこで、pomファイルのインポートからスコープタグを削除しました。
以前
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
修正
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
</dependency>
今ではうまくいきます
私にとって同じ問題は.m2/repositoryを削除することで解決され、再起動IDEA依存関係は次のようになります:
${cucumber.version} = 4.8.0
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
</dependency>
うまくいくと思います。
ステップ1:エラーの上にマウスを置くと、キュウリのクラスをタイプに解決できません。そのため、インポートステートメントを手動で記述すれば、エラーは発生しなくなります。
cucumber.api.junit.Cucumberをインポートします。
ステップ2:cucumber-JUnit依存関係のpom.xmlファイルからスコープを削除します。
Ctrl + Shift + Tを実行してRunWithと入力するだけで、Mavenの依存関係が解決された後、jarがワークスペースに正しくインポートされているかどうかを確認できます。
私も同じ問題に遭遇しました。私はEclipseでMavenプロジェクトを使用しています。私の問題は、私が使用していたJREバージョンにあるようです。私のMavenプロジェクトにはすべて古いJ2SE-1.5があり、Eclipse内で1.8に切り替えたため、問題はなくなりました。お役に立てれば!
以下の依存関係からPOM.xmlファイルを削除しました。
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
そして、私は依存関係を追加しました:
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
インポートできました。
この依存関係を追加して、古い依存関係を削除してください。それは私のために働いた。
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
上記のように、以下の依存関係を追加すると問題が解決しました:
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
私も同じ問題に直面していました。cucumber-junit依存関係からスコープ部分を削除しただけで、うまくいきました。
「mvnrepository」からすべての最新のjar maven依存関係をダウンロードしました。これでうまくいきました。