2015-04-24 78 views
1

这个测试没有给出理由,为什么它失败:Rspec的测试没有给出理由,为什么它失败

it "saves the new job in the database" do 
     expect{ 
     post :create, booking: FactoryGirl.attributes_for(:booking) 
     }.to change(Booking,:count).by(1) 
    end 

测试看起来很简单,而且功能在网站的作品。

UPD作为参考,下面是它的测试控制器:

def create 
    @booking = Booking.new(booking_params) 
    @booking.save 
    respond_with(@booking) 
    end 

,工厂:

FactoryGirl.define do 
    factory :booking do 
    employer 
    vehicle 
    job_type 
    location 
    start "2015-04-23 09:00" 
    ending "2015-04-23 15:00" 
    end 
end 

UPD这里的RSpec的日志,用-b:

BookingsController 
    as employer 
    GET #new 
     renders the :new template (PENDING: Not yet implemented) 
     assigns a new job to @job (PENDING: Not yet implemented) 
    GET #create 
     with invalid attributes 
     re-renders the :new template (PENDING: Not yet implemented) 
     does not save in the database (PENDING: Not yet implemented) 
     with valid attributes 
     redirects to the show page (PENDING: Not yet implemented) 
in populate_times 
     saves the new job in the database (FAILED - 1) 
    GET #create 
     with invalid attributes 
     re-renders the :new template (PENDING: Not yet implemented) 
     does not save in the database (PENDING: Not yet implemented) 
     with valid attributes 
     redirects to the show page (PENDING: Not yet implemented) 
     saves the new job in the database (PENDING: Not yet implemented) 
    GET new 
     renders the new template 
    GET #show 
     renders the :show template (PENDING: Not yet implemented) 
     assigns the requested booking to @booking (PENDING: Not yet implemented) 
    as visitor 
    GET new 
     redirects to new_employer_path 

Pending: (Failures listed here are expected and do not affect your suite's status) 

    1) BookingsController as employer GET #new renders the :new template 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:60 

    2) BookingsController as employer GET #new assigns a new job to @job 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:59 

    3) BookingsController as employer GET #create with invalid attributes re-renders the :new template 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:38 

    4) BookingsController as employer GET #create with invalid attributes does not save in the database 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:37 

    5) BookingsController as employer GET #create with valid attributes redirects to the show page 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:33 

    6) BookingsController as employer GET #create with invalid attributes re-renders the :new template 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:71 

    7) BookingsController as employer GET #create with invalid attributes does not save in the database 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:70 

    8) BookingsController as employer GET #create with valid attributes redirects to the show page 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:66 

    9) BookingsController as employer GET #create with valid attributes saves the new job in the database 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:65 

    10) BookingsController as employer GET #show renders the :show template 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:55 

    11) BookingsController as employer GET #show assigns the requested booking to @booking 
    # Not yet implemented 
    # ./spec/controllers/booking_controller_spec.rb:43 


Failures: 

    1) BookingsController as employer GET #create with valid attributes saves the new job in the database 
    Failure/Error: expect{ 
     expected #count to have changed by 1, but was changed by 0 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-expectations-3.2.1/lib/rspec/expectations/fail_with.rb:29:in `fail_with' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-expectations-3.2.1/lib/rspec/expectations/handler.rb:40:in `handle_failure' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-expectations-3.2.1/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-expectations-3.2.1/lib/rspec/expectations/handler.rb:27:in `with_matcher' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-expectations-3.2.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-expectations-3.2.1/lib/rspec/expectations/expectation_target.rb:54:in `to' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-expectations-3.2.1/lib/rspec/expectations/expectation_target.rb:87:in `to' 
    # ./spec/controllers/booking_controller_spec.rb:28:in `block (5 levels) in <top (required)>' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:177:in `instance_exec' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:177:in `block in run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:385:in `block in with_around_and_singleton_context_hooks' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:343:in `block in with_around_example_hooks' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:474:in `block in run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:614:in `block in run_around_example_hooks_for' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:247:in `call' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:247:in `call' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-rails-3.2.1/lib/rspec/rails/example/controller_example_group.rb:179:in `block (2 levels) in <module:ControllerExampleGroup>' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:333:in `instance_exec' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:333:in `instance_exec' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:387:in `execute_with' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:616:in `block (2 levels) in run_around_example_hooks_for' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:247:in `call' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:247:in `call' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-rails-3.2.1/lib/rspec/rails/adapters.rb:113:in `block (2 levels) in <module:MinitestLifecycleAdapter>' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:333:in `instance_exec' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:333:in `instance_exec' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:387:in `execute_with' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:616:in `block (2 levels) in run_around_example_hooks_for' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:247:in `call' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:247:in `call' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:617:in `run_around_example_hooks_for' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/hooks.rb:474:in `run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:343:in `with_around_example_hooks' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:385:in `with_around_and_singleton_context_hooks' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example.rb:174:in `run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:549:in `block in run_examples' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:545:in `map' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:545:in `run_examples' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:512:in `run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `block in run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `map' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `block in run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `map' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `block in run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `map' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/example_group.rb:513:in `run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:110:in `block (3 levels) in run_specs' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:110:in `map' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:110:in `block (2 levels) in run_specs' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1526:in `with_suite_hooks' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:109:in `block in run_specs' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/reporter.rb:62:in `report' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:108:in `run_specs' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:86:in `run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:70:in `run' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:38:in `invoke' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/gems/rspec-core-3.2.3/exe/rspec:4:in `<top (required)>' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/bin/rspec:23:in `load' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/bin/rspec:23:in `<main>' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/bin/ruby_executable_hooks:15:in `eval' 
    # /Users/Will/.rvm/gems/[email protected]_rails_4_0/bin/ruby_executable_hooks:15:in `<main>' 
+1

您能提供Rspec日志中的内容吗? – Michal

+0

已更新,但没有什么有趣的... –

+0

它看起来没有创建记录。你有没有验证模型可能失败? – Michal

回答

0

我无法添加评论我的声誉的原因......但也许你应该尝试运行带-b选项的rspec来查看完整的回溯。并检测到错误