在Practical Object-Oriented Design in Ruby: An Agile Primer,作者寫道,「[對象]是負責測試自己的接口,它通過使關於結果的說法,這些[進入]消息返回這樣做。......這些消息需要測試,因爲其他應用程序對象dpeend上他們的簽名和他們返回的結果。「我應該單元測試不返回值的消息嗎?
她解釋,「用於測試傳入消息的第一個要求是要證明,它在每一個可能的情況返回正確的值,」給這個作爲一個例子的單元測試用於diameter
方法針對一種假設的Wheel
類:
def test_calculates_diameter
wheel = Wheel.new(26, 1.5)
assert_in_delta(29, wheel.diameter, 0.01)
end
我的問題是,那些沒有返回值的傳入消息呢?我有一個對象的公共接口只有兩個方法不返回一個值,而只是改變接收對象的狀態。我還需要測試該對象嗎?如果是這樣,怎麼樣?