【问题标题】:Installing Cucumber with Ironruby使用 Ironruby 安装 Cucumber
【发布时间】:2011-03-06 16:07:00
【问题描述】:

我正在尝试使用 ironruby 安装 Cucumber。我按照http://wiki.github.com/aslakhellesoy/cucumber/ironruby-and-net 的指示进行操作。它下载黄瓜的 0.8.3 版和小黄瓜的 2.0.2 版。当我运行 cucumber 时出现以下错误:

c:/ironruby/lib/ironruby/gems/1.8/gems/gherkin-2.0.2-universal-dotnet/lib/gherki n/native/ikvm.rb:16:in `load_assembly': 未找到程序集 'gherkin'\n试试这个: SET MONO_PATH=c:/ironruby/lib/ironruby/gems/1.8/gems/gherkin-2.0.2-universal-dot net/lib (或导出 MONO_PATH=...) (LoadError) 来自 c:/ironruby/lib/ironruby/gems/1.8/gems/gherkin-2.0.2-universal-dotn et/lib/gherkin/native/ikvm.rb:16:in `native_impl' 来自 c:/ironruby/lib/ironruby/gems/1.8/gems/gherkin-2.0.2-universal-dotn et/lib/gherkin/i18n.rb:7 来自 c:/ironruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in ‘要求’ 来自 c:/ironruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in ‘要求’ 来自 c:/ironruby/lib/ironruby/gems/1.8/gems/gherkin-2.0.2-universal-dotn et/lib/gherkin/i18n_lexer.rb:1 来自 c:/ironruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in ‘要求’ 来自 c:/ironruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in ‘要求’ 来自 c:/ironruby/lib/ironruby/gems/1.8/gems/gherkin-2.0.2-universal-dotn et/lib/gherkin.rb:1 来自 c:/ironruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in ‘要求’ 来自 c:/ironruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in ‘要求’ 来自 c:/ironruby/lib/ironruby/gems/1.8/gems/cucumber-0.8.3/bin/../lib/cu cumber/cli/main.rb:5 来自 c:/ironruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in ‘要求’ 来自 c:/ironruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in ‘要求’ 来自 c:/ironruby/lib/ironruby/gems/1.8/gems/cucumber-0.8.3/bin/cucumber: 5 来自 C:/ironruby/bin/cucumber:19:in `load' 来自 C:/ironruby/bin/cucumber:19

我尝试设置 MONO_PATH 但这似乎不起作用。有什么想法吗?

【问题讨论】:

  • 您可以使用<pre> 包装您的代码以将其置于代码格式中,或者,将每行缩进四个空格。

标签: ruby cucumber ironruby


【解决方案1】:

我也遇到了这个问题。解决方案是同时降级黄瓜和小黄瓜。安装 gherkin 1.0.27 和 cucumber 0.6.4 就可以了。供参考:http://github.com/aslakhellesoy/gherkin/issues/issue/63

【讨论】:

  • 是的,但是 Gherkin 的当前版本是 2.2.8,Cucumber 是 0.9.2。如果您同时使用这两个版本的旧版本时示例不起作用,请不要感到惊讶...
【解决方案2】:

我一直想调查一下。我认为这与新的基于 Ragel 的解析器(Gherkin)有关。它被编译为 Java 类,然后通过 IKVM 编译为 .NET 程序集。我认为在这个过程中,它依赖于 Mono。

【讨论】:

  • 啊,Cucumber with IronRuby 对我来说似乎还没有准备好生产 :)
  • SpecFlow 在 .NET 和 Mono 上使用相同的 Gherkin 解析器,并且运行良好。一定有另一个问题导致了这种情况。
  • 是的,我认为包装为 IronRuby 加载此程序集的 Ruby 代码对环境做出了一些假设(从它在加载程序集失败时吐出的错误消息判断)不成立如果您没有安装 Mono,则为 true。
【解决方案3】:

好吧,你可以使用这个 gist 作为测试运行器来克服那个特定的错误:

http://gist.github.com/465677

不幸的是,它会产生另一个错误。

【讨论】:

  • 是的,这不是一个答案,但我希望它会帮助某人...... :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多