0
我有兩個具有共同行爲的類A和B.比方說,我把常用的東西,一個模塊,每個類include
S IN:rspec:測試包含在其他類中的模塊
class A
include C
def do_something
module_do_something(1)
end
end
class B
include C
def do_something
module_do_something(2)
end
end
module C
def module_do_something(num)
print num
end
end
(首先,這是一個合理的方式來構造類/模塊從Java的背景,我會作出C 2一個抽象類,A和B都是繼承而來的,但我讀過Ruby並沒有抽象類的概念。)
什麼是編寫測試的好方法?
我可以寫測試爲C,指定其行爲的任何類
include
小號。然而,然後我的A和B測試只能測試不是C.如果A的行爲和B的實現改變,以便他們不再使用C?這種感覺很有趣,因爲我對A行爲的描述被分成兩個測試文件。我只能寫A和B的行爲測試。但是他們會有很多冗餘測試。