0
我試圖將Sandi Metz的單元測試規則應用於對象的公共端確實有影響的消息,並通過測試公共內容來間接測試所有私有內容。如果它設置了一個類的公共屬性,你會單元測試__init__方法嗎?
因此,我們避免測試實現,並可以隨時更改它。
我的問題是:如果我的__init__
方法設置公開可用的實例屬性,我應該單元測試它。我基本上不知道如果init應該被視爲私有方法(並認爲,如果它設置公共的東西,它應該是單元測試)。
例子:
MyClass(object):
def __init__(self, public_parameter_1, public_param_2)
self.public_parameter_1 = public_parameter_1
self.public_parameter_2 = public_parameter_2
測試使用pytest:
def test_instance():
instance = MyClass(1, 2)
assert instance.public_parameter_1 == 1
assert instance.public_parameter_2 == 2