Scott Taylor
2007-Mar-19 23:00 UTC
[rspec-users] action_web_services error with rspec_on_rails
I now have two specs in my rails project which correspond to one
rails controller. I can run them individually and they pass, but
running them together (either with the rake task just putting both
files on the command line):
euclid% spec spec/controllers/crud_resource_controller_spec.rb spec/
controllers/crud_resource_controller_with_join_models_spec.rb
/Users/smtlaissezfaire/Sites/rails/dictionary/vendor/rails/
actionwebservice/lib/action_web_service/container/
action_controller_container.rb:74:in `require_web_service_api'':
neither _api or _api found (NameError)
from /Users/smtlaissezfaire/Sites/rails/dictionary/vendor/
rails/actionwebservice/lib/action_web_service/container/
action_controller_container.rb:48:in `web_service_api''
from /Users/smtlaissezfaire/Sites/rails/dictionary/vendor/
rails/actionwebservice/lib/action_web_service/container/
action_controller_container.rb:85:in
`inherited_without_action_controller''
from /Users/smtlaissezfaire/Sites/rails/dictionary/vendor/
rails/actionwebservice/lib/action_web_service/dispatcher/
action_controller_dispatcher.rb:32:in `inherited''
from ./spec/controllers/
crud_resource_controller_with_join_models_spec.rb:5:in `initialize''
from ./spec/controllers/
crud_resource_controller_with_join_models_spec.rb:5:in `new''
from ./spec/controllers/
crud_resource_controller_with_join_models_spec.rb:5:in
`one_join_model_setup''
from ./spec/controllers/
crud_resource_controller_with_join_models_spec.rb:13
from /opt/local/lib/ruby/gems/1.8/gems/rspec-0.8.2/lib/spec/
runner/context.rb:14:in `class_eval''
... 11 levels...
from /opt/local/lib/ruby/gems/1.8/gems/rspec-0.8.2/lib/spec/
runner/command_line.rb:18:in `run''
from /opt/local/lib/ruby/gems/1.8/gems/rspec-0.8.2/bin/spec:4
from /opt/local/bin/spec:16:in `load''
from /opt/local/bin/spec:16
I''m not using webservices at all: So can someone clue me into what
is going on or point me in the right direction? Here are the two specs:
#spec one
require File.dirname(__FILE__) + ''/../spec_helper''
def one_join_model_setup
unless defined? CommentController
Object.const_set("CommentController", Class.new
(CrudResourceController))
end
#CommentController.class_eval { join_models :post }
controller_name ''comment''
end
context "join_model" do
one_join_model_setup
end
## spec two
require File.dirname(__FILE__) + ''/../spec_helper''
def testing_crud_setup
unless defined? TestingCrudController
Object.const_set("TestingCrudController", Class.new
(CrudResourceController))
end
controller_name ''testing_crud''
end
context "An Inherited Controller" do
testing_crud_setup
specify "should subclass from CrudResourceController" do
TestingCrudController.superclass.to_s.should ==
("CrudResourceController")
end
specify "should be an instance of TestingCrudController" do
controller.should be_an_instance_of(TestingCrudController)
end
end
# more contexts - I believe the revelent code stops here
context "model_name" do
testing_crud_setup
specify "should be a private method" do
controller.private_methods.include?("model_name").should == true
end
specify "should be the controller name" do
controller.send(:model_name).should == "TestingCrud"
end
end
context "generic_variable" do
testing_crud_setup
specify "should be a private method" do
controller.private_methods.include?("generic_variable").should
== true
end
specify "should return the controller name in underscore case" do
controller.send(:generic_variable).should == "testing_crud"
end
end
Thanks for all of your help,
Scott Taylor
