У меня есть тест, который не работает, даже если операция действительно работает, когда я тестирую ее в браузере. Что-то не так с моим тестом, похоже.Код работает, но тест не работает
Я использую Shoulda и приспособления.
require 'test_helper'
class AddressesControllerTest < ActionController::TestCase
context 'on PUT to :update' do
setup do
put(:update, {
:id => addresses(:mary_publics_address).id,
:street1 => '123 Now St.'
}, { :user_id => users(:stan).id})
end
should 'update the Address' do
a = Address.find(addresses(:mary_publics_address).id)
assert(a.street1 == '123 Now St.', 'Attribute did not get updated.')
end
end
end
Сбой «Атрибут не обновился».
Вот код контроллера тестируемый:
class AddressesController < ApplicationController
def update
@address = Address.find(params[:id])
@address.update_attributes!(params[:address])
render(:text => "Address with ID #{params[:id]} updated")
end
end
«Код работает, но тест не работает». Это как раз моя первая мысль, когда команда-испытатель называет: P – nik
Что происходит с a.street1? – Steven
Просто для уточнения моего последнего комментария; Я спрашиваю, с чего действительно возвращается a.street1, а не только то, что такое предположение. Как кто-то, кто тестирует, распечатывает ожидаемое значение и фактическое значение теста, может быть очень проницательным. – Steven