Как запустить файл огурца из командной строки

У меня есть файл функции огурца, расположенный ниже на моем локальном компьютере:

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

и банку Junit в расположении ниже:

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

Не могли бы вы помочь мне запустить этот файл функции из командной строки. Заранее спасибо.


person Durgesh    schedule 02.06.2015    source источник
comment
Привет, команда, есть предложения ??????? Я еще не получил на него ответа. Благодарность!   -  person Durgesh    schedule 03.06.2015


Ответы (2)


Подход 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 для определить все депы; запустить тесты тогда так же просто, как:

mvn verify
person Sébastien Le Callonnec    schedule 03.06.2015
comment
Спасибо за подробную информацию, не могли бы вы также уточнить, как делать с gradle? gradle заменяет maven, и было бы неплохо включить его в ответ. Спасибо, Викрам - person vikramvi; 28.04.2017
comment
Привет, а как насчет использования cucumber.options из командной строки без maven? Вы знаете, как им пользоваться? - person neshkeev; 22.05.2017

Огурец с Явой:

Функция запуска: 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

person Sathya Kanuri    schedule 25.07.2016
comment
Здесь features - это каталог файлов функций, а step_definition - это каталог файлов определения шага. - person Sathya Kanuri; 25.07.2016
comment
как указать несколько опций --tags с несколькими тегами? - person user578219; 10.12.2017