2011-03-12 71 views

回答

4

這與C中的嘲諷方法無關,僅與方法依賴有關。

如果您仔細閱讀,嘲諷Time.now不再對Date.today產生影響。

在Ruby 1.8.7中,Date.today在Ruby中實現,並且調用了Time.now。在較新的Ruby中,Date.today使用C語言,不會調用Time.now

0

不知道是什麼了,因爲雙紅寶石https://github.com/btakita/rr似乎能夠這樣做的:

require 'rubygems' 
require 'test/unit' 
require 'rr' 

extend RR::Adapters::RRMethods 

class MockTest < Test::Unit::TestCase 
    include RR::Adapters::TestUnit 

    def test_can_mock_c_method 
    a = [1,5,3] 
    mock(a).sort{'foo!'} 
    assert_equal 'foo!', a.sort 
    end 

end 

這是使用MRI 1.8.7,而據我所知,可枚舉#排序和陣列#排序在C中實現。如果我錯了,請糾正我。