jejacks0n / teaspoon

Teaspoon: Javascript test runner for Rails. Use Selenium, BrowserStack, or PhantomJS.
1.43k stars 243 forks source link

PhantomJS tests fail on teaspoon v1.0 #359

Closed geoffharcourt closed 9 years ago

geoffharcourt commented 9 years ago

Hi, just upgraded (thank you for the excellently detailed upgrading guide), and when I try to execute the JS specs from the command line, I get this exception:

$ rake teaspoon                                                                                                                                                                                                                              [2.2.2]
Puma 2.11.2 starting...
* Min threads: 0, max threads: 16
* Environment: test
* Listening on tcp://0.0.0.0:57812
rake aborted!
NoMethodError: undefined method `path' for Teaspoon::Driver::Phantomjs:Class
-e:1:in `<main>'
Tasks: TOP => teaspoon
(See full trace by running task with --trace)

This is the backtrace:


rake aborted!
NoMethodError: undefined method `path' for Teaspoon::Driver::Phantomjs:Class
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/driver/phantomjs.rb:54:in `executable'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/driver/phantomjs.rb:35:in `run'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/driver/phantomjs.rb:27:in `run_specs'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/console.rb:55:in `run_specs'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/console.rb:44:in `block in execute_without_handling'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/console.rb:42:in `each'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/console.rb:42:in `inject'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/console.rb:42:in `execute_without_handling'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/console.rb:27:in `execute'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/teaspoon/console.rb:23:in `failures?'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/teaspoon-1.0.0/lib/tasks/teaspoon.rake:12:in `block in <top (required)>'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `call'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/Users/geoff/cortex/bin/rake:8:in `<top (required)>'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `block in load'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:268:in `load'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Users/geoff/.rbenv/versions/2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
-e:1:in `<main>'
Tasks: TOP => teaspoon

After a quick look at the source, tt looks like #path isn't defined on Teaspoon::Driver::PhantomJS: https://github.com/modeset/teaspoon/blob/master/lib/teaspoon/driver/phantomjs.rb#L54

derekpeterson commented 9 years ago

Yeah, I had the same error when trying to upgrade. I'm using the phantomjs gem and resolved the issues related to changes listed in the release notes.

derekpeterson commented 9 years ago

:+1: Just confirming that this resolved the issue for me. Thanks for the quick fix!

geoffharcourt commented 9 years ago

This fix also resolved the issue for me. (Ran off master, as 1.0.1 isn't on Rubygems yet.) Thanks very much.

mikepack commented 9 years ago

Excellent! 1.0.1 should be on RubyGems now.