基本

mock = Minitest::Mock.new.expect(:method_name, 'return_value', ['param1', 'param2'])
mock.method_name('param1', 'param2') # <= return value is 'return_value'
mock.verify # <= true
第一のメソッド名、第二の戻り値までは必須

応用

入れ子

mock2 = Minitest::Mock.new.expect(:second, 'second value')
mock1 = Minitest::Mock.new.expect(:first, mock2)
mock1.first.second #<= 'second value'

stubと組み合わせる

class Animal
  def self.cat
   self.call_cat
  end
  def self.call_cat
   'miaow'
  end
end

mock = Minitest::Mock.new
mock.expect(:call, 'wan')

Animal.stub(:calc, mock) do
  Animal.cat #<= wan
end
callを指定するのが味噌