Меня завербовали в качестве разработчика ПО, и я пытаюсь попасть в модульное тестирование с RSPEC и RR в ruby, но мне сложно выбрать конкретную стратегию, главным образом потому, что мне поручили писать модульные тесты в кодкоторый уже написан.
Рассмотрим следующий код, который является частью большого метода с именем method1:
if (["5234541252", "6236253223"].include?(self.id))
self.DoCheck
logs.add 'Doing check', "id = #{self.id}"
return
end
Соответствующий модульный тест для этой части метода был бы чем-токак:
"should do check only if id = 5234541252 or 6236253223"
Но я сталкиваюсь с несколькими вопросами, в основном касающимися лучших практик, например:
Как я могу проверить, был ли вызван DoCheckиз "method1" с использованием RR и RSPEC?
Я пытался использовать dont_allow (Object) .DoCheck, но он не будет работать.
describe :do_route do
it "should do check only if id = 5234541252 or 6236253223" do
user = Factory(:User)
user.id = "5234541252"
dont_allow(user).DoCheck
user.method1
end
Есть ли другой способ сделать выводесли "DoCheck" был вызван или нет?