即使沒有人創建單元測試對象,Ruby的單元測試框架也會執行單元測試。例如,在模塊/類結束時執行代碼,如Ruby測試/單元
在MyUnitTest.rb
require 'test/unit'
class MyUnitTest < Test::Unit::TestCase
def test_true
assert true
end
end
,當我調用該腳本作爲
ruby MyUnitTest.rb
test_true方法被自動執行。這是如何完成的?
我想要一個可以做類似的框架。我不希望「如果__ FILE __ == $ 0」在每個使用我的框架模塊的末尾。
謝謝。
但您可以爲您的類重新定義`Class.inherited`以獲得對所有子類的引用,然後在您的`at_exit`鉤子中與它們一起玩。 – rampion 2009-07-15 11:16:41