如何在空手道框架中使用小黄瓜本地化?

How to use gherkin localization in Karate framework?

我想在 Karate Framework 中使用 gherkin localization

英文版剧情完美。但是对于俄语版本,看起来 Karate FeatureParser 不知道本地化标签并且失败了。这是错误日志:

line 15:0 mismatched input '<EOF>' expecting {FEATURE_TAGS, FEATURE}
16:44:01.263 [main] ERROR com.intuit.karate.core.FeatureParser - syntax error: mismatched input '<EOF>' expecting {FEATURE_TAGS, FEATURE}
16:44:01.270 [main] ERROR com.intuit.karate.core.FeatureParser - not a valid feature file: src/test/java/ru.feature - mismatched input '<EOF>' expecting {FEATURE_TAGS, FEATURE}
Exception in thread "main" java.lang.RuntimeException: mismatched input '<EOF>' expecting {FEATURE_TAGS, FEATURE}
    at com.intuit.karate.core.FeatureParser.<init>(FeatureParser.java:150)
    at com.intuit.karate.core.FeatureParser.<init>(FeatureParser.java:126)
    at com.intuit.karate.core.FeatureParser.parse(FeatureParser.java:69)
    at com.intuit.karate.IdeUtils.exec(IdeUtils.java:61)
    at cucumber.api.cli.Main.main(Main.java:36)

英文版功能文件:

Feature: Services A and B
  Background:
    * url 'http://localhost:8080'

  Scenario: call service A
    Given path 'service-a'
    And method get
    Then status 200

  Scenario: call service B
    Given path 'service-b'
    And method get
    Then status 200

俄语版本的功能文件:

# language: ru
Функция: Сервисы А и Б
  Контекст:
    * адрес 'http://localhost:8080'

  Сценарий: вызов сервиса А
    Дано путь 'service-a'
    И метод get
    То статус 200

  Сценарий: вызов сервиса B
    Дано путь 'service-b'
    И метод get
    То статус 200

我应该怎么做才能解决它?

是的,空手道在我们switched away from Cucumber 0.9.0 版本后不支持本地化。

我们决定不支持本地化,因为空手道的目标与黄瓜有很大不同。空手道更像是一种编程语言,在这里有更好的解释:

所以就像 Java 或 JavaScript 不支持本地化关键字一样,空手道也不支持。 We haven't had any complaints so far :)