5

Od kilku miesięcy używam sporków z rspec z powodzeniem w aplikacji szyny. Teraz próbuję dodać jaśmin do tej gry, więc dodałem do mojego GemfileUżywanie Spork z jaśminem w szynach

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

Jasmine działa bardzo dobrze w trybie autonomicznym ale wymaga, aby uruchomić Firefoksa dla każdego biegu, który nie jest bardzo przyjazny dla użytkownika i Zauważyłem, że można go używać ze sporkami. Ale kiedy uruchomić 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) 

Każdy pomysł, aby rozwiązać ten problem? Czy jest jakaś inna opcja do testowania tła jaśminu?

używam:

  • ArchLinux
  • rubin 1.9.3p327
  • szyny 3.2.8
  • Spork 0.9.2
  • jaśmin 1.3.1

Odpowiedz

1

Jest inny sposób na uniknięcie otwierania Firefoksa - PhantomJS. Zastępuje sterownik Selenium, który musi używać Firefoksa. PhantomJS stosuje inne podejście - bezgłową wersję WebKit. Możesz uzyskać więcej przydatnych informacji, patrząc na this Railscast.

1

Jakie są wersje qmake i qmake-qt4? Możesz je uzyskać, uruchamiając qmake-qt4 -v i qmake -v.

Wygląda na to, że potrzebujesz wersji Qt 4.7 zainstalowanej dla bezgłowego zestawu stron internetowych. Być może masz zainstalowaną niższą wersję. Sprawdź ten problem: No runner found, attempting to compile...

Spróbuj przeprowadzić aktualizację do nowszej wersji Qt, odwołując się do uwag here.

+1

Mam Qmake w wersji 2.01a i Qt 4.8.4, więc nie wydaje się być związana z tym problemem. – Nibbler

1

Polecam, używając https://github.com/netzpirat/guard-jasmine.

Będziesz musiał ostatecznie zainstalować phantomJS (i być może także ochronić), ale jaśmin strażnikowy w zasadzie monitoruje specyfikacje jaśminu i zawsze, gdy pojawi się zmiana, uruchomi twoje testy w konsoli. Zapewnia również opakowanie do uruchamiania jaśminu w przeglądarce, jeśli to konieczne.