【问题标题】:Using Spork with jasmine in rails在 Rails 中使用带有茉莉花的 Spork
【发布时间】:2012-12-07 11:32:52
【问题描述】:

几个月以来,我在 Rails 应用程序中成功使用了 spork 和 rspec。现在我尝试将茉莉花添加到这个游戏中,所以我添加到了我的 Gemfile 中

gem 'headless'
gem 'jasmine'
gem 'jasmine-rails'

Jasmine 在独立模式下运行良好,但每次运行都需要启动 firefox,这对用户不是很友好,我注意到它可以与 spork 一起使用。但是当我推出 spork 时

Using RSpec
Preloading Rails environment
Loading Spork.prefork block...
No runner found, attempting to compile...
make: *** No rule to make target `clean'.  Stop.
which: no gmake in (/usr/lib/ruby/gems/1.9.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/bin:/opt/java/db/bin:/usr/bin/core_perl:/opt/qt/bin:/home/user/.gem/ruby/1.9.1/bin/)
which: no qmake-qt4 in (/usr/lib/ruby/gems/1.9.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/bin:/opt/java/db/bin:/usr/bin/core_perl:/opt/qt/bin:/home/user/.gem/ruby/1.9.1/bin/)
Failure to open file: /usr/lib/ruby/gems/1.9.1/gems/jasmine-headless-webkit-0.8.4/ext/jasmine-webkit-specrunner/Makefile
Unable to generate makefile for: specrunner.pro
true
/usr/lib/ruby/1.9.1/fileutils.rb:1371:in `initialize': Permission denied - /usr/lib/ruby/gems/1.9.1/gems/jasmine-headless-webkit-0.8.4/ext/jasmine-webkit-specrunner/Makefile (Errno::EACCES)
from /usr/lib/ruby/1.9.1/fileutils.rb:1371:in `open'
from /usr/lib/ruby/1.9.1/fileutils.rb:1371:in `block in copy_file'
from /usr/lib/ruby/1.9.1/fileutils.rb:1370:in `open'
from /usr/lib/ruby/1.9.1/fileutils.rb:1370:in `copy_file'
from /usr/lib/ruby/1.9.1/fileutils.rb:477:in `copy_file'
from /usr/lib/ruby/1.9.1/fileutils.rb:396:in `block in cp'
from /usr/lib/ruby/1.9.1/fileutils.rb:1515:in `block in fu_each_src_dest'
from /usr/lib/ruby/1.9.1/fileutils.rb:1531:in `fu_each_src_dest0'
from /usr/lib/ruby/1.9.1/fileutils.rb:1513:in `fu_each_src_dest'
from /usr/lib/ruby/1.9.1/fileutils.rb:395:in `cp'
from extconf.rb:10:in `<main>'
Permission denied - /usr/lib/ruby/gems/1.9.1/gems/jasmine-headless-webkit-0.8.4/ext/jasmine-webkit-specrunner/jasmine-webkit-specrunner (Errno::EACCES)

有办法解决这个问题吗?茉莉花的背景测试还有其他选择吗?

我用:

  • archlinux
  • 红宝石 1.9.3p327
  • 导轨 3.2.8
  • spork 0.9.2
  • 茉莉花1.3.1

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 jasmine spork


    【解决方案1】:

    还有另一种避免打开 Firefox - PhantomJS 的方法。它取代了需要使用 Firefox 的 Selenium 驱动程序。 PhantomJS 使用另一种方法 - WebKit 的无头版本。您可以通过查看this Railscast 获得更多有用的信息。

    【讨论】:

      【解决方案2】:

      你的 qmake 和 qmake-qt4 是什么版本?您可以通过运行qmake-qt4 -vqmake -v 来获取它们。

      显然,您需要为 jasmine-headless-webkit 安装 Qt 4.7 版本。您可能安装了较低版本。检查这个问题:No runner found, attempting to compile...

      通过参考注释here,尝试升级到较新版本的 Qt。

      【讨论】:

      • 我有 Qmake 版本 2.01a 和 Qt 4.8.4,所以它似乎与这个问题无关。
      【解决方案3】:

      我建议使用https://github.com/netzpirat/guard-jasmine

      您最终必须安装 phantomJS(可能还需要安装 guard),但 guard-jasmine 基本上会监控您的 jasmine 规格,并且每当发生更改时,它都会在控制台中运行您的测试。如果需要,它还提供了一个包装器来在浏览器中运行 jasmine。

      【讨论】:

        猜你喜欢
        • 2013-05-06
        • 1970-01-01
        • 2014-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-22
        • 1970-01-01
        相关资源
        最近更新 更多