我有一个Python类,其中包含两个方法。
第一个方法 _getTemperature_()
是受保护的,第二个方法是公共方法。我需要编写一个单元测试,但我不知道如何模拟受保护的方法?我只找到了关于如何模拟在测试中直接使用的公共方法的教程,但没有关于要测试的方法中如何模拟的教程。
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)
不是有效的语法。Python 中没有所谓的公共和私有,下划线_
只是一种约定,并不会改变任何东西(只在模块导入中才有特殊意义)。 - Ashwini Chaudhary