我想在Karate Framework中使用gherkin localization。
英文版的方案非常完美。但是在俄语版本中,空手道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之后,空手道不支持本地化。
我们决定不支持本地化,因为空手道的目标与黄瓜非常不同。空手道更像是一种编程语言,在这里可以得到更好的解释:https://stackoverflow.com/a/47799207/143475
因此,就像Java或JavaScript不支持本地化关键字一样,空手道也不支持。 We haven't had any complaints so far :)