我正在使用Cuke4Nuke的0.3.1版本,我在使用除英语之外的其他语言定义我的功能文件时遇到问题。谷歌搜索没有带来任何解决方案,所以我的问题很简单:Cuke4Nuke是否支持用英语定义其他语言的功能?
我尝试使用GitHub的Cucumber存储库中的示例。这是一个不起作用的功能示例:
# language: no
Egenskap: Summering
For å unngå at firmaet går konkurs
Må regnskapsførerere bruke en regnemaskin for å legge sammen tall
Scenario: to tall
Gitt at jeg har tastet inn 5
Og at jeg har tastet inn 7
Når jeg summerer
Så skal resultatet være 12
编译并运行Cuke4Nuke时,错误信息如下:
Cuke4Nuke C:_work \ myProject的\测试\ Integration.Tests \ BIN \调试\ Integration.Tests.dll C:_work \ myProject的\测试\ Integration.Tests \功能 -q C:/ _ work / myProject / Tests / Integration.Tests / features / summering.feature: 第2行的Lexing错误:'Egenskap: 避暑”。看到 http://wiki.github.com/aslakhellesoy/gherkin/lexingerror 欲获得更多信息。 (小黄瓜::词法分析器:: LexingError) C:在:/ _工作/工具/ Ruby186 / lib中/红宝石/宝石/ 1.8 /宝石/小黄瓜-2.2.4-86-mingw32的/ lib中/小黄瓜/词法/ i18n_lexer.rb:22
scan' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/gherkin-2.2.4-x86-mingw32/lib/gherkin/lexer/i18n_lexer.rb:22:in
扫描” C:/ _工作/工具/ Ruby186 / lib中/红宝石/宝石/ 1.8 /宝石/小黄瓜-2.2.4-86-mingw32的/ lib中/小黄瓜/分析器/ parser.rb:31:在parse' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/feature_file.rb:35:in
解析” C:/ _工作/工具/ Ruby186 / lib中/红宝石/宝石/ 1.8 /宝石/黄瓜-0.9.0 / bin中/../ lib中/黄瓜/运行/ features_loader.rb:28:在load' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/runtime/features_loader.rb:26:in
每个” C:/ _工作/工具/ Ruby186 / lib中/红宝石/宝石/ 1.8 /宝石/黄瓜-0.9.0 / bin中/../ lib中/黄瓜/运行/ features_loader.rb:26:在load' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/runtime/features_loader.rb:14:in
的特征 C:/ _工作/工具/ Ruby186 / lib中/红宝石/宝石/ 1.8 /宝石/黄瓜-0.9.0 / bin中/../ lib中/黄瓜/ runtime.rb:179:在features' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/runtime.rb:32:in
跑了!” C:/ _工作/工具/ Ruby186 / lib中/红宝石/宝石/ 1.8 /宝石/黄瓜-0.9.0 / bin中/../ lib中/黄瓜/ CLI / main.rb的:54:在execute!' C:/_work/tools/Ruby186/lib/ruby/gems/1.8/gems/cucumber-0.9.0/bin/../lib/cucumber/cli/main.rb:29:in
执行” C:/ _ work / tools / Ruby186 / lib / ruby / gems / 1.8 / gems / cucumber-0.9.0 / bin / cucumber:8 C:/ _ work / tools / Ruby186 / bin / cucumber:19:in {{1} }负载'
似乎cuke4nuke(或Cucumber?)正在完全跳过#language -declaration。例如,以下功能在不应该的情况下起作用。
load'
任何想法我怎么能让Cucumber和Cuke4Nuke注意到语言 - 声明?我的Ruby版本为1.86,而Cucumber版本为0.9。
答案 0 :(得分:1)
在Cuke4Nuke发生任何事情之前,这看起来像黄瓜/小黄瓜方面的错误。语言声明仅在Cucumber方面处理。当步骤细节到达Cuke4Nuke时,关键字消失了。您可能会在cukes组获得更多帮助(groups.google.com/group/cukes/);我认为黄瓜开发商在那里更活跃。
那就是说,Cuke4Nuke还没有处理语言。您仍然必须在步骤定义而不是Gitt /Når/Så上使用Given / When / Then属性,并且步骤定义参数的字符串转换将不会使用正确的文化,这可能会导致问题。下一个Cuke4Nuke版本将包括语言支持。 i18n属性已经在最新的源代码中,我正在研究文化的东西。