5

数か月以来、Rails アプリで rspec を使用して spork を使用してきました。今、このゲームにジャスミンを追加しようとしているので、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
  • スポーク 0.9.2
  • ジャスミン1.3.1
4

3 に答える 3

1

Firefox を開かないようにする別の方法があります - PhantomJS 。これは、Firefox を使用する必要がある Selenium ドライバーを置き換えます。PhantomJS は別のアプローチ、つまり WebKit のヘッドレス バージョンを使用します。この Railscastを見ると、より有用な情報を得ることができます。

于 2012-12-14T10:07:11.880 に答える
1

qmake と qmake-qt4 のバージョンは何ですか? qmake-qt4 -vとを実行することで取得できますqmake -v

どうやら、jasmine-headless-webkit にはバージョン Qt 4.7 がインストールされている必要があります。以前のバージョンがインストールされている可能性があります。この問題を確認してください:ランナーが見つかりません、コンパイルしようとしています...

こちらの注意事項を参照して、Qt の新しいバージョンにアップグレードしてみてください。

于 2012-12-15T02:13:57.783 に答える
1

https://github.com/netzpirat/guard-jasmineを使用することをお勧めします。

最終的にはphantomJSをインストールする必要があります(おそらくguardも)が、guard-jasmineは基本的にジャスミン仕様を監視し、変更が発生するとコンソールでテストを実行します. また、必要に応じてブラウザで jasmine を実行するためのラッパーも提供します。

于 2012-12-19T07:02:33.710 に答える