Cuke4nuke:它是否缺少对不同语言的支持?

时间:2010-09-28 11:15:36

标签: c# .net cucumber

我正在使用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。

1 个答案:

答案 0 :(得分:1)

在Cuke4Nuke发生任何事情之前,这看起来像黄瓜/小黄瓜方面的错误。语言声明仅在Cucumber方面处理。当步骤细节到达Cuke4Nuke时,关键字消失了。您可能会在cukes组获得更多帮助(groups.google.com/group/cukes/);我认为黄瓜开发商在那里更活跃。

那就是说,Cuke4Nuke还没有处理语言。您仍然必须在步骤定义而不是Gitt /Når/Så上使用Given / When / Then属性,并且步骤定义参数的字符串转换将不会使用正确的文化,这可能会导致问题。下一个Cuke4Nuke版本将包括语言支持。 i18n属性已经在最新的源代码中,我正在研究文化的东西。