web-dev-qa-db-ja.com

キュウリはタイプに解決できません

CucumberとJUnitを使用してテストシナリオを実行するためのRunTestクラスを作成しました。以前にテストを実行するには、プロジェクトにRunWithクラス(@RunWith)をインポートし、パラメーターとしてCucumber.classを渡す必要があります。次に、クラスのRunWithパラメーターは、それに渡されるパラメーターをさらに認識します。 Eclipseは次のメッセージを表示します。

この行に複数のマーカー-クラスをタイプに解決できません。 -キュウリはタイプに解決できません。 -アノテーション@RunWithは属性値を定義する必要があります

Mavenを使用してJARSファイルを整理しています。以下は、コードとエラー画面です。

enter image description hereenter image description here

私の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>

私の図書館 enter image description here

2

cucumber.api.junit.Cucumberクラスをインポートします。 Eclipse IDEを使用しているようです。そのため、Ctrl+Shift+o(ゼロではないアルファベットの「o」)ショートカットを使用してクラスをインポートできます。

Ctrl+Shift+Oは「インポートの整理」であり、不足しているインポートを追加し、未使用のインポートを削除して、すべてのインポートを注文します)。このコマンドは、[ソース]> [インポートの整理]にもあります。

5
nikhil Ingole

IntelliJのアイデアでも同じ問題に直面しました。インポートしたライブラリをチェックインすると、以下のスクリーンショットのようになりました。

screenshot

そこで、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
AlexPes

ステップ1:エラーの上にマウスを置くと、キュウリのクラスをタイプに解決できません。そのため、インポートステートメントを手動で記述すれば、エラーは発生しなくなります。

cucumber.api.junit.Cucumberをインポートします。

ステップ2:cucumber-JUnit依存関係のpom.xmlファイルからスコープを削除します。

1
user11620140

Ctrl + Shift + Tを実行してRunWithと入力するだけで、Mavenの依存関係が解決された後、jarがワークスペースに正しくインポートされているかどうかを確認できます。

1
Rocky

cucumber-junitpom.xmlにある場合でも

Maven Dependenciesの下に、cucumber-junitが必要であることを確認します

enter image description here

私は1.2.6を持っていましたが、Mavenの依存関係の下にありませんでした。答えのコメントの1つからこれを得ました。

  <dependency>
  <groupId>info.cukes</groupId>
  <artifactId>cucumber-junit</artifactId>
   <version>1.2.5</version>
   <scope>test</scope>
   </dependency>
0
Gaurav khurana

私も同じ問題に遭遇しました。私はEclipseでMavenプロジェクトを使用しています。私の問題は、私が使用していたJREバージョンにあるようです。私のMavenプロジェクトにはすべて古いJ2SE-1.5があり、Eclipse内で1.8に切り替えたため、問題はなくなりました。お役に立てれば!

0

以下の依存関係から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>

インポートできました。

enter image description here

0

この依存関係を追加して、古い依存関係を削除してください。それは私のために働いた。

<!-- 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>
0
SAPNA THAKUR

上記のように、以下の依存関係を追加すると問題が解決しました:

<!-- 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>
0
Vineesh

私も同じ問題に直面していました。cucumber-junit依存関係からスコープ部分を削除しただけで、うまくいきました。

0
user12749089

「mvnrepository」からすべての最新のjar maven依存関係をダウンロードしました。これでうまくいきました。