I could not find any examples on mocking modules with mocha. It’s probably because it’s so easy! It’s just like mocking an instance of a class.

the_module.rb :

module TheModule
    def the_module_function
        return 'the real value'
    end
end

test.rb :

require 'test/unit'
require 'mocha'
require 'the_module'
include TheModule

class TheModuleTest < Test::Unit::TestCase
    # replace 'the real value' with 'the mocked value''
    def test_it
        assert TheModule.the_module_function == 'the real value'

        TheModule.stubs(:the_module_function).returns('the mocked value')

        assert TheModule.the_module_function == 'the mocked value'
    end
end

Running the tests:

jmate@CalculatorJozef:~/everything/workspaces$ ruby test.rb
Loaded suite test
Started
.
Finished in 0.00096 seconds.

1 tests, 2 assertions, 0 failures, 0 errors

Cheers, Joseph