У меня есть модель ActiveRecord:
class Hotlink < ActiveRecord::Base
validates_presence_of :link
end
Что я тестирую с:
require 'spec_helper'
describe Hotlink do
it "should require a name" do
Hotlink.new.should_not be_valid
end
it "should require a name 2" do
link1 = Hotlink.new
link1.link = nil
link1.should_not be_valid
end
it "should require a name 3" do
link2 = Hotlink.new
link2.link = nil
link2.save
link2.should_not be_valid
link2.valid?.should be_false
end
end
Все эти тесты не пройдены. Я не совсем понимаю? Разве они не проходят?
Они терпят неудачу с: ожидаемый действительный? вернуть ложь, получил истину
В средах / test.r b я отключил классификацию кэша, но не повезло.
Редактировать: следующие работы. Я теперь еще больше сбит с толку:
Hotlink.new().valid?.should != true
Редактировать: Источник найденной проблемы:
У меня есть спецификация контроллера, которая при удалении заставит спецификации модели пройти. Почему это?
require File.dirname(__FILE__) + 'spec_helper'
describe HotlinksController do
before :each do
@current_user = mock_model(User, :id => 1)
controller.stub!(:current_user).and_return(@current_user)
controller.stub!(:login_required).and_return(:true)
end
fixtures :all
render_views
it "create action should redirect when model is valid" do
Hotlink.any_instance.stubs(:valid?).returns(true)
post :create
response.should redirect_to(root_url)
end
end