Я нахожусь в ментальном блоке. Может ли кто-нибудь объяснить мне, как я могу написать специальный тест для validate_uniqueness_of?Как я могу проверить validate_uniqueness_of?
12
A
ответ
15
Или используйте Shoulda:
before do
@user = Factory(:user)
end
subject { @user }
it { should validate_uniqueness_of(:name) }
14
class Foo < ActiveRecord::Base
validates_uniqueness_of :name
end
# spec
describe Foo do
it "should have a unique name" do
Foo.create!(:name=>"Foo")
foo = Foo.new(:name=>"Foo")
foo.should_not be_valid
foo.errors[:name].should include("has already been taken")
end
end
3
Сделать короче с Shoulda:
it "validates uniqueness of name" do
FactoryGirl.create(:tag, name: 'unique name')
should validate_uniqueness_of(:name)
end
+0
... и если вам случится его охватить: it {должен validate_uniqueness_of (: name) .scoped_to (: user_group_id)} – Rin
2
class User < ActiveRecord::Base
validates_uniqueness_of :name
end
it "should validate uniqueness of name" do
user1 = FactoryGirl.create(:user)
user1.save
user2 = FactoryGirl.build(:user)
expect { user2.save! }.to raise_error(
ActiveRecord::RecordInvalid
)
end
Смежные вопросы
- 1. Условия тестирования с validate_uniqueness_of
- 2. validate_uniqueness_of scope не работает
- 3. Разрешить незаполненным должны validate_uniqueness_of
- 4. Как я могу это проверить?
- 5. Как я могу проверить пароль?
- 6. Как я могу проверить stunnel?
- 7. Как я могу проверить интерфейс?
- 8. Как я могу это проверить?
- 9. Как я могу проверить pspell?
- 10. Как я могу проверить прочность?
- 11. Как я могу проверить класс?
- 12. Как я могу проверить TextPainter?
- 13. Как я могу проверить сообщение?
- 14. Как я могу проверить RoutedUICommand?
- 15. Как я могу проверить Lunascript
- 16. Как я могу проверить переключатель?
- 17. Как я могу проверить это?
- 18. Как я могу проверить «prevObject»?
- 19. Spec validate_uniqueness_of test с условным
- 20. RSpec проверяет недействительный метод `validate_uniqueness_of '
- 21. Rails validate_uniqueness_of RSpec тест не
- 22. как я могу я проверить существование таблицы
- 23. Как я могу проверить, на каких серверах я могу работать?
- 24. Как я могу проверить код Alex?
- 25. .NET: как я могу проверить этот метод?
- 26. Как я могу проверить куки в рельсах?
- 27. Как я могу проверить пробелы на питоне?
- 28. Как я могу проверить письмо на UWP?
- 29. Как я могу проверить общее содержание chrome.storage?
- 30. Как я могу проверить, что использует VisualTreeHelper?
Я не знаю, о "включают в себя", это действительно здорово. –
Функциональность «включить» фактически не предоставляется RSpec. Вместо этого, когда используется в этом контексте, RSpec просто ищет метод «include?» на объект. Класс String предоставляет этот метод. В то же время вы можете использовать другие методы String, такие как «should end_with (« foobar ») и т. Д. –
Не является ли foo.errors [: name] массивом здесь? – Chandranshu