首页 文章

Rspec测试效果不佳

提问于
浏览
0

我想做什么

我想检查包含有关更改控制器数据库的某些进程的操作是否成功 .

错误

“没有救”F

失败:

1)BuysController检查#new的行为返回完成失败/错误:expect(buy.trading_status).to eq(“done”)

expected: "done"
        got: "pending"

   (compared using ==)
 # ./spec/controllers/buys_controller_spec.rb:27:in `block (3 levels) in <top (required)>'

在0.14739秒完成(文件加载3.68秒)1例,1例失败

失败的例子:

rspec ./spec/controllers/buys_controller_spec.rb:6#BuysController检查#new的行为返回完成

代码

require 'rails_helper'
include BuysHelper

 RSpec.describe BuysController, type: :controller do
      describe "check #new's behavior" do
       it "return done" do
        User.create(name:"hhhvv",email:"gggjggg@gmail.com")
       p User.find(1)
       Currency.create(name:"hello",user_id:1)
       Sell.create(
           id:1,
          user_id: 1,
         currency_id:1,
          amount:100,
          price:100,
         trading_status:"pending")
       buy = Buy.new(
           id:1,
           user_id: 1,
           currency_id:1,
           amount:100,
           price:100,
          trading_status:"pending"
          )
      if buy.save
          market_checker
       else
          p "no save"
        end
        expect(buy.trading_status).to eq("done")
     end
    end
 end

我尝试了什么

rake db:test:prepare 
  rake db:migrate RAILS_ENV=test

1 回答

  • 0

    您可能还想检查错误 .

    expect(buy.errors).to be_empty

相关问题