デバイスの状態を表す変数をモックしようとしています
この場合、デバイスを追加しようとしており、次のコードがあります。
if self.network.controller.add_node( secure ) :
for i in range( 0, 60 ) :
if flagStarted :
if self.commandState == self.COMMAND_FAILED or self.commandState == self.COMMAND_FAILED :
# Transaction Failed or Error
self.network.controller.cancel_command( )
self.log.warning( " *** Add Device Failed *** " )
return False
elif self.commandState == self.COMMAND_CANCEL :
# Transaction Canceled
self.log.debug( " *** Command Canceled " )
return False
elif self.commandState == self.COMMAND_COMPLETED :
# Transaction Completed
value = ZWaveProtocol.getAddedDevice( )
if value > 0 :
dev = DeviceCollection.getDeviceByProtocolID( value, "ZWave" )
return dev.id
else :
if self.commandState == self.COMMAND_STARTING or self.commandState == self.COMMAND_WAITING :
flagStarted = True
sys.stdout.write( "." )
sys.stdout.flush( )
time.sleep( 1.0 )
self.network.controller.cancel_command( )
return -1
else :
self.log.error( "Failed to add device" )
私がやっていることは、self.network.controller.add_node( secure ) をモックすることです。それを行うと、self.commandState を Starting... に変更します。私が達成したかったのは、約 5 秒後にそれを self に変更することです。操作を正常に終了するには、COMMAND_COMPLETED を使用します。
これを嘲笑する方法はありますか?