运行时出错测试用例

问题描述:

我更改了代码并尝试运行测试用例,但仍然可以获得更好的状态。请参阅代码和错误,并指导我摆脱它。运行时出错测试用例

from brisa.core.reactors import install_default_reactor 
reactor = install_default_reactor() 

import os 
import unittest 

from brisa.upnp.device import Device, Service 
from brisa.upnp.device.service import StateVariable 

class SwitchPower(Service): 
    def __init__(self): 
     Service.__init__(self, 
         'SwitchPower', 
         'urn:schemas-upnp-org:service:SwitchPower:1', 
         '', 
         os.getcwd() + '/SwitchPower-scpd.xml') 
     self.target = False 
     self.status = False 

    def SetTarget(self, *args, **kwargs): 
     self.target = kwargs['NewTargetValue'] 
     self.status = self.target 

     print 'Light switched ', {'1': 'on', '0': 'off'}.get(self.target, None) 
     return {} 

    def GetTarget(self, *args, **kwargs): 
     return {'RetTargetValue': self.target} 

    def soap_GetStatus(self, *args, **kwargs): 
     return {'ResultStatus': self.status} 

class BinaryLight(Device): 
    def __init__(self): 
     Device.__init__(self, 
       'urn:schemas=upnp-org:device:BinaryLight:1', 
       'Binary Light Device') 

# Here's our "unit tests". 

class IsOddTests(unittest.TestCase): 
    def testOne(self): 
     b1 = SwitchPower() 
     self.failUnless(b1.SetTarget('NewTargetValue')) 

if __name__ == '__main__': 
     unittest.main() 

if __name__ == '__main__': 
    device = BinaryLight() 
    device += BinaryLight() 
    device.start() 
    reactor.add_after_stop_func(device.stop) 
    reactor.main() 

错误:

ERROR: testOne (__main__.IsOddTests) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "binary_light.py", line 54, in testOne 
    self.failUnless(b1.SetTarget('NewTargetValue')) 
    File "binary_light.py", line 25, in SetTarget 
    self.target = kwargs['NewTargetValue'] 
KeyError: 'NewTargetValue' 
+0

Daniel-我运行在原始文件本身的测试案例。 – user1492832 2011-02-11 22:54:07

+0

直接相关:http://stackoverflow.com/questions/4974150/error-while-running-test-case – payne 2011-02-11 22:54:51

你不是在传递一个关键字列表为SetTarget。不喜欢它:

self.failUnless(b1.SetTarget(NewTargetValue='something')) 

错误与此:

Traceback (most recent call last): 
    File "binary_light.py", line 54, in testOne 
    self.failUnless(b1.SetTarget(NewTargetValue= 'something')) 
AssertionError