4

Foo モジュールをクラスにインクルードして「bar」を呼び出したときに、メソッド (この場合は「puts」) が呼び出されるかどうかをテストしたいと思います。

require 'minitest/autorun'

module Foo
  def bar
    puts 'bar'
  end
end

class FooTest < MiniTest::Unit::TestCase
  def setup
    @class = Class.new do
      extend Foo
    end
  end

  def test_if_bar_method_calls_puts
    mock = MiniTest::Mock.new
    mock.expect(:puts, nil, ['bar'])
    @class.bar
    assert mock.verify
  end
end
4

1 に答える 1