Должен иметь: Тест validates_presence_of: на =>: обновление

Я использую, Должен иметь в сочетании с Тестом:: Единица на одном из проектов я продолжаю работать. Проблема, с которой я сталкиваюсь, - то, что я недавно изменил это:

class MyModel < ActiveRecord::Base
  validates_presence_of :attribute_one, :attribute_two
end

к этому:

class MyModel < ActiveRecord::Base
  validates_presence_of :attribute_one
  validates_presence_of :attribute_two, :on => :update
end

Ранее, мои (передающие) тесты были похожи на это:

class MyModelTest < ActiveSupport::TestCase
  should_validate_presence_of :attribute_one, :attribute_two
end

Насколько я могу сказать, нет никакого параметра к should_validate_presence_of это заставит этот тест продолжать передавать с изменениями, указанными выше. За исключением отказа Должен иметь при тестировании требования :attribute_two, есть ли какой-либо путь вокруг этого?

5
задан jerhinesmith 5 January 2010 в 21:19
поделиться

1 ответ

В прошлом я просто использовал небольшой пользовательский блок должен, чтобы обойти эту проблему:

should "require :attr_two on update" do
  mm = Factory(:my_model)
  mm.attr_two = nil
  mm.save
  assert_equal false, mm.valid?
  assert_equal("can't be blank", mm.errors.on(:attr_two))
 end

Надеюсь, что он будет продолжать улучшаться, позволяя дальнейшие опции валидации АР в будущем. Дайте мне знать, что вы думаете, спасибо.

2
ответ дан 13 December 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: