几个月以来,我在rails应用程序中成功地使用了sppec和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
>ruby1.9.3p327
> rails 3.2.8
> spork 0.9.2
>茉莉花1.3.1
解决方法
还有另一种方法可以避免打开Firefox – PhantomJS.它取代了需要使用Firefox的Selenium驱动程序. PhantomJS使用另一种方法 – 无头版WebKit.您可以查看
this Railscast获取更多有用的信息.