0
我有一個Python Clas和2種方法。如何在受測試的方法中模擬受保護/私有方法?
第一個,_getTemperature_()
受保護,第二個是公共方法。我必須寫一個unitTest,但我不知道如何模擬受保護的方法?我只是發現了一些教程來模擬一個公共方法,這個方法在直接測試中使用。但不是一種可以被測試的方法。
class StateOn(self):
#Temperature in °C
_target = 15
# currrent Temperature by Sensor in °C
def _getTemperature_(self):
return valueFromSensorXY()
def validateTemperature(self):
if self._getTemperature_() >= self._target:
return StateOff()
有人可以給我一個提示,或解釋找到解決這個問題的解決辦法嗎?
'def _getTemperature _()(self)'不是一個有效的語法。沒有這樣的東西叫做public和private,'_'只是Python中的一個約定,它不會改變任何東西(它僅在模塊導入時纔是特殊的)。 –