Боюсь, я не знаю, как издеваться над модулем. По крайней мере, с Мокко Kernel.expects
не помогает. Вы могли бы всегда обернуть вызов в классе и посмеяться над этим, примерно так:
require 'test/unit'
require 'mocha'
class SystemCaller
def self.call(cmd)
system cmd
end
end
class TestMockingSystem < Test::Unit::TestCase
def test_mocked_out_system_call
SystemCaller.expects(:call).with('dir')
SystemCaller.call "dir"
end
end
, что дает мне то, на что я надеюсь:
Started
.
Finished in 0.0 seconds.
1 tests, 1 assertions, 0 failures, 0 errors