Rspec没有到达控制器

时间:2017-04-10 12:51:13

标签: ruby-on-rails rspec automated-tests

我正在编写控制器规范,但对于这个特定的控制器,测试表现得很奇怪。它似乎根本不会进入控制器。

规范:

require 'rails_helper'
require './app/controllers/entidades_controller'

describe EntidadesController do
  describe '#create' do
    context 'quando parametros validos' do
      it 'cria entidade' do
       expect {
          post :create, entidade: {cnpj: '84.215.775/0001-74'}
          }.to change {Entidade.count}.by(1)
      end
    end
  end
end

控制器:

def create
  abort("?????????????????????????????????????????????????????????")
  @entidade = Entidade.new(entidade_params)
  @entidade.status = true
  respond_to do |format|
    if @entidade.save
      configuracao_inicial
      format.html { redirect_to @entidade, notice: 'Entidade criada com sucesso.' }
      format.json { render :show, status: :created, location: @entidade }
    else
      puts "#{@entidade.errors.full_messages}"
      format.html { render :new }
      format.json { render json: @entidade.errors, status: :unprocessable_entity }
    end
  end
end

运行此规范时,执行应该被中断,并且一旦到达abort行就应该打印问号,我之前在其他测试用例中使用过它。然而,这是测试的输出:

F

Failures:

  1) EntidadesController#create quando parametros validos cria entidade
     Failure/Error:
       expect {
          post :create, entidade: {cnpj: '84.215.775/0001-74'}
          }.to change {Entidade.count}.by(1)

       expected result to have changed by 1, but was changed by 0
     # ./spec/controllers/entidades_controller_spec.rb:10:in `block (4 levels) in <top (required)>'

Finished in 0.13257 seconds (files took 3.78 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/controllers/entidades_controller_spec.rb:9 # EntidadesController#create quando parametros validos cria entidade

我在这里做错了什么?

0 个答案:

没有答案