Я пытаюсь настроить юнит-тест, используя Minitest, для класса. В этом классе некоторые методы вызывают другие методы.
Это очень упрощенная концепция того, что я пытаюсь сделать.
require 'minitest/autorun'
class Book
def caller
self.called
end
def called
nil
end
end
class BookTest < Minitest::Test
def test_checkCaller
fake = Minitest::Mock.new
fake.expect(:caller, nil)
fake.caller
assert(fake.verify,msg=nil)
end
end
Это возвращает:
Run options: --seed 24362
# Running:
.
Finished in 0.002716s, 368.1771 runs/s, 368.1771 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
Я даже не уверен, что это делаю что хочу. Я хочу подтвердить, что called
вызывается caller
.
. Позже я также хочу проверить, что при отправке определенного сообщения в caller
выполняется определенный код. called
, например, добавив это сообщение в очередь.
[Прежде чем кто-либо пометит это как дубликат, убедитесь, что предполагаемый пост на самом деле совпадает с тем, что я спрашиваю, и, предпочтительно, имеет законный ответ на мой вопрос. Я просмотрел несколько похожих постов, и каждый немного отличается.]
Спасибо!