Test::Unit должен быть эквивалентом RSpec should_receive

#ruby-on-rails #ruby #rspec #bdd #testunit

#ruby-on-rails #ruby #rspec #bdd #testunit

Вопрос:

Я пишу несколько модульных тестов для своего приложения Ruby on Rails. Я хотел бы проверить, что моя модель получила сообщение для определенного метода. В RSpec это делается с should_receive помощью заклинания.

Есть ли эквивалент Test::Unit, который может сделать то же самое? Если Test::Unit не может этого сделать, есть ли инструмент, который я могу использовать совместно с ним, чтобы получить эту функциональность?

Ответ №1:

Проверьте мокко. Это драгоценный камень, который вы можете использовать с Test::Unit или Rspec (но я предпочитаю собственный rspeck mocking). Это позволяет вам написать что-то вроде

 @post.stubs(:something).returns(:bla)
@post.expects(:something_else).raises(StandardError, "failed")
  

Надеюсь, это поможет