私はXMLファイル間の比較を自動化するためのキュウリのコードを書いています。しかし、得ること スレッド "main"の例外java.lang.NoSuchMethodError:gherkin.formatter.model.Scenario.getId()Ljava/lang/String; フィーチャーファイルを実行しているとき。私は小人2.12.2を使用しています。スレッド "main"の例外java.lang.NoSuchMethodError:gherkin.formatter.model.Scenario.getId()Ljava/lang/String;
マイフィーチャーファイル
Feature: File Comparator
Scenario Outline: Comparing XML Files
Given I have <XML1> and <XML2> in <Location1> and <Location2>
When I compare <XML1> to <XML2>
Then Both should be the same
Exmaples:
| XML1| location1 | XML2 | location2|
| XML1.xml| C:/Filepath1| XML2.xml| C:/Filepath2|
MY StepDefinition
public class FCStepDefinition {
static Logger log = Logger.getLogger(FCStepDefinition.class);
@Given("^I have ([^\"]*) and ([^\"]*) in ([^\"]*) and ([^\"]*)$")
public static void checkXML1(String xml1, String xml2, String location1, String location2) throws Throwable
{
log.info("File name" + xml1 + "and" + xml2 +"from the paths" + location1 + "and" + location2 + "were located");
System.out.println("File name" + xml1 + "and" + xml2 +"from the paths" + location1 + "and" + location2 + "were located");
}
@When("^I compare ([^\"]*) to ([^\"]*)$")
public static void compareXMLs(String xml1, String location1,String xml2, String location2) throws Exception
{
try {
log.info("Comparing the XML1 to XML2.");
Assert.assertTrue("\n XML1 is not similar to XML2",XMLComparator.compareXMLs(location1 + xml1, location2 + xml2));
}
finally {
}
}
@Then("^Both should be the same$")
public static void verifyOutput(String expectedSCH, String outputLocation) throws Throwable
{
log.info("The Files matches");
}}
マイランナー
package cucumber;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
format = {"pretty", "html:target/html/", "json:target/json/"},
features = "src/features",
strict = true
)
public class FCRunner {
}
正確にどこが失敗するのか分かりますか?それは始まるのですか? –