代码之家  ›  专栏  ›  技术社区  ›  Shubs

API测试|空手道|使用'read'关键字时语法错误

  •  1
  • Shubs  · 技术社区  · 6 年前

    我正在尝试使用空手道进行API测试。由于请求和响应非常长,我需要使用文件来使用它们。但是,“read”关键字给了我一个语法错误:

    Scenario: read data from a file  Time elapsed: 0.005 sec  <<< ERROR!
    com.intuit.karate.exception.KarateException: syntax error: **'def xyz=read('sample.txt')'**, feature: examples/users/users.featu
    re, line: 14
            at com.intuit.karate.cucumber.CucumberUtils.runStep(CucumberUtils.java:247)
            at com.intuit.karate.cucumber.KarateRuntime.runStep(KarateRuntime.java:80)
            at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
            at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
            at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
            at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:102)
            at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
            at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
            at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
            at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
            at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
            at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
            at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
            at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
            at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
            at com.intuit.karate.junit4.Karate.runChild(Karate.java:134)
            at com.intuit.karate.junit4.Karate.runChild(Karate.java:37)
            at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
            at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
            at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
            at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
            at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
            at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
            at com.intuit.karate.junit4.Karate.run(Karate.java:144)
            at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
            at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
            at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
            at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
            at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
            at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
            at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
    

    对我可能遗漏的内容有什么建议吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Peter Thomas    6 年前

    空手道是一种运动 小的 在我看来,这是一件好事,因为代码质量的这一方面在默认情况下是强制执行的,当您的测试套件规模增加时,您将为此感谢空手道。如果您使用Cucumber IDE支持,这将自动发生。

    所以请围绕着 = 有空白,你应该没事。

    * def xyz = read('sample.txt')