5

Da diversi mesi, ho usato spork con rspec con successo in un'app per rails. Ora cerco di aggiungere gelsomino a questo gioco, così ho aggiunto al mio GemfileUtilizzo di Spork con gelsomino su rotaie

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

Jasmine funziona molto bene in modalità autonoma ma richiede di lanciare Firefox per ogni corsa che non è molto facile da usare e Ho notato che è possibile usarlo con lo spork. Ma quando lancio 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) 

Qualche idea per risolvere questo? C'è qualche altra opzione per avere test in background di gelsomino?

io uso:

  • Archlinux
  • rubino 1.9.3p327
  • rotaie 3.2.8
  • spork 0.9.2
  • gelsomino 1.3.1

risposta

1

C'è un altro modo per evitare di aprire Firefox - PhantomJS. Sostituisce il driver Selenium, che deve utilizzare Firefox. PhantomJS utilizza un altro approccio: la versione senza testa di WebKit. È possibile ottenere ulteriori informazioni utili dando un'occhiata a this Railscast.

1

Quali versioni sono qmake e qmake-qt4? Puoi ottenerli eseguendo qmake-qt4 -v e qmake -v.

Apparentemente, è necessaria la versione Qt 4.7 installata per jasmine-headless-webkit. Potrebbe essere installata una versione inferiore. Controllare questo problema: No runner found, attempting to compile...

Provare l'aggiornamento a una versione più recente di Qt, facendo riferimento alle note here.

+1

Ho Qmake versione 2.01a e Qt 4.8.4 in modo che non sembra essere correlato a questo problema. – Nibbler

1

Si consiglia di utilizzare https://github.com/netzpirat/guard-jasmine.

Si dovrà infine installare phantomJS (ed eventualmente anche di guardia), ma la guardia-gelsomino controlla sostanzialmente le caratteristiche del tuo gelsomino e ogni volta che c'è un cambiamento che si verifica verrà eseguito i test nella console. Fornisce inoltre un wrapper per eseguire gelsomino nel browser, se necessario.