web-dev-qa-db-ja.com

コマンドラインからキュウリファイルを実行する方法

私のローカルの以下の場所にキュウリの機能ファイルがあります:

C:\ProjectWork\Workspace\Cucumber\DIT_Cucumber\src\cucumber\featureOne.feature

およびJunit jarは以下の場所にあります:

C:\DurgeshProjectWork\Workspace\JarFiles\junit-4.11.jar

コマンドプロンプトから機能ファイルを実行するために以下のようないくつかのコマンドを試しましたが、常に同じエラーが発生します

Could not fine class

以下は私が使用したコマンドです:コマンド1:

C:\>Java -cp C:\ProjectWork\Workspace\JarFiles\junit-4.11.jar org.junit.runner.JUnitCore C:\DurgeshProjectWork\Workspace\Cucumbe
r\DIT_Cucumber\bin\cucumber\featureOne.feature

コマンド2:

C:\ProjectWork\Workspace\Cucumber\DIT_Cucumber\src\cucumber>Java -cp C:\ProjectWork\Workspace\JarFiles\junit-4.11.jar org
.junit.runner.JUnitCore featureOne.feature

コマンドラインからこの機能ファイルを実行するのを手伝ってください。前もって感謝します。

10
Durgesh

JUnitアプローチ

JUnitを使用する場合、コマンドラインでJUnitテストを実行するのと同じ方法でテストを実行できます。

Java -cp <classpath> org.junit.runner.JUnitCore com.example.test.RunCukesTest

ここで、RunCukesTestは、すべてのキュウリオプションを設定する単体テストです。例:

package com.example.test;

import org.junit.runner.RunWith;

import cucumber.api.junit.Cucumber;
import cucumber.api.CucumberOptions;

@RunWith(Cucumber.class)
@CucumberOptions(plugin = "json:target/report.json")
public class RunCukesTest {
}

Cucumber-jvmアプローチ

コマンドラインでcucumber-jvmを使用することもできます。

Java -cp <classpath> cucumber.api.cli.Main \
   --glue com.example.test \
   --plugin pretty path/to/features

Maven

以前の両方のケースでの課題は、クラスパスを構築し、独自のクラスや機能ファイルを含むすべての依存関係が適切に読み込まれていることを確認することです。より簡単な解決策は、たとえば Mavenを使用してすべてのdeps ;を定義することです。テストの実行は次のように簡単です。

mvn verify

キュウリとJava:

実行機能:Java -cp "jars/*" cucumber.api.cli.Main -p pretty features

ステップ定義ファイルをコンパイル:javac -cp "jars/*" step_definition/StepDef.Java

実行シナリオ:Java -cp "jars/*;." cucumber.api.cli.Main -p pretty -g step_definition features

0
Sathya Kanuri