首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析黄瓜中的特征文件

无法解析黄瓜中的特征文件
EN

Stack Overflow用户
提问于 2020-07-17 05:41:12
回答 2查看 7K关注 0票数 0
代码语言:javascript
复制
I am unable to parse my feature file in cucumber while running i am getting following error, i am creating a BDD test framework to do API testing using cumber feature file concept

io.cucumber.core.gherkin.FeatureParserException:未能解析资源at: file:///D:/NodeApiTesting/APITestingNode/src/test/resources/functionalTests/End2End_Test.feature at io.cucumber.core.gherkin.vintage.GherkinVintageFeatureParser.parseGherkin5(GherkinVintageFeatureParser.java:40) at io.cucumber.core.gherkin.vintage.GherkinVintageFeatureParser.parse(GherkinVintageFeatureParser.java:58) at io.cucumber.core.feature.FeatureParser.parseResource(FeatureParser.java:44) at io.cucumber.core.runtime.FeaturePathFeatureSupplier.lambda$new$0(FeaturePathFeatureSupplier.java:39( java.util.function.BiFunction.lambda$andThen$0(Unknown Source)在io.cucumber.core.resource.ResourceScanner.lambda$processResource$2(ResourceScanner.java:126) at io.cucumber.core.resource.ResourceScanner.lambda$processResource$2(ResourceScanner.java:126) at io.cucumber.core.resource.PathScanner$ResourceFileVisitor.visitFile(PathScanner.java:67) at io.cucumber.core.resource.PathScanner$ResourceFileVisitor.visitFile(PathScanner.java:52) at java.nio.file.Files.walkFileTree(未知来源)java.nio.file.Files.walkFileTree at io.cucumber.core.resource.PathScanner.findResourcesForPath(PathScanner.java:46) atio.cucumber.core.resource.PathScanner.findResourcesForUri(PathScanner.java:26) at io.cucumber.core.resource.ResourceScanner.findResourcesForUri(ResourceScanner.java:109) at io.cucumber.core.resource.ResourceScanner.scanForResourcesUri(ResourceScanner.java:86) at io.cucumber.core.runtime.FeaturePathFeatureSupplier.loadFeatures(FeaturePathFeatureSupplier.java:62) at io.cucumber.core.runtime.FeaturePathFeatureSupplier.get(FeaturePathFeatureSupplier.java:46) at io.cucumber.junit.Cucumber.(Cucumber.java:156) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown来源)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown源)在java.lang.reflect.Constructor.newInstance(Unknown源) org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104) at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70) at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28) at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:90) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:76) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:49)在org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:526) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)引起的: io.cucumber.core.gherkin.vintage.internal.gherkin.ParserException$CompositeParserException: Parser错误:(1:1):预期:#EOF,#语言,#标签线,#FeatureLine,#注释,#空,得到‘场景大纲:用户生成授权令牌’(2:2):预期:#EOF,#语言,#标签线,#FeatureLine,#注释,#空,得到‘给我一个授权用户’(4:1):预期:#EOF,#语言,#标签线,#FeatureLine,#注释,#空,got‘场景大纲:授权用户可以添加和删除电话’(5:2):预期:#EOF,#语言,#标签线,#FeatureLine,#注释,#空,得到‘给出的手机列表’(6:2):预期:#EOF,#语言,#标签线,#FeatureLine,#注释,#空,得到‘当我添加一个手机到商店’(7:2):预期:#EOF,#语言,#标签线,#FeatureLine,#评论,#评论,(8:2):预期:#EOF,#语言,#标签线,#FeatureLine,#注释,#空,得到‘当我在我的商店更新手机’(9:2):预期:#EOF,#语言,#标签线,#FeatureLine,#注释,#空,得到‘然后电话更新’(10:2):预期:#EOF,#语言,#标签线,#FeatureLine,评论#,#空,得到‘当我从商店里移除手机’(11:2):预期:#EOF,#语言,#标语,#FeatureLine,#注释,#空,得到‘然后书被删除’(12:2):预期:#EOF,#语言,#标签线,#FeatureLine,#评论,#空,在io.cucumber.core.gherkin.vintage.internal.gherkin.Parser.addError(Parser.java:152) at io.cucumber.core.gherkin.vintage.internal.gherkin.Parser.matchTokenAt_0(Parser.java:491) at io.cucumber.core.gherkin.vintage.internal.gherkin.Parser.matchToken(Parser.java:337) at io.cucumber.core.gherkin.vintage.internal.gherkin.Parser.parse(Parser.java:137) at io.cucumber.core.gherkin上获得了“当我正在阅读我的电话细节”.vintage.internal.gherkin.Parser.parse(Parser.java:118) at io.cucumber.core.gherkin.vintage.internal.gherkin.Parser.parse(Parser.java:114) at io.cucumber.core.gherkin.vintage.GherkinVintageFeatureParser.parseGherkin5(GherkinVintageFeatureParser.java:29) . 34

我的特性文件如下

End2End_Test.feature

代码语言:javascript
复制
Scenario Outline: User generates token for Authorisation
    Given I am an authorized user

Scenario Outline: the Authorized user can Add and Remove a phone
    Given A list of phones are available
    When I add a phone to store
    Then the phone is added
    When I update a phone in my store
    Then the phone is updated
    When I remove a phone from my store
    Then the book is removed
    When I am reading my phone details
    Then I read my Phone Details

我的runner.java文件如下

TestRunner.java

代码语言:javascript
复制
package runners;

import org.junit.runner.RunWith;

import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;

@RunWith(Cucumber.class)
@CucumberOptions(
        features = "src/test/resources/functionalTests",
        glue = {"stepDefinitions"},
        monochrome = true,
        strict = true
)
public class TestRunner {
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-17 13:18:55

对于Scenario Outline,您需要Examples

如果您不需要示例,只需使用Scenario

代码语言:javascript
复制
Feature: My feature name
  As a customer
  I should be able to do something
  So that I can benefit

 Scenario: Some test - some test description
  Given i have something
  When i do some action
  Then the results are displayed


 Scenario Outline: Some other test - scenario outline needs examples
  Given i have something
  When i do some action with <example_name>
  Then the results are displayed
Examples:
  | example_name |
  | test         |
票数 3
EN

Stack Overflow用户

发布于 2022-07-19 13:28:02

有时候,我们在运行程序文件CucumberOption CucumberOption中添加的扩展报告插件也会给出相同的解析器异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62947787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档