2
from __future__ import with_statement
from sikuli.Sikuli import *
import os
import unittest
import this
import xmlrpclib
import SimpleXMLRPCServer, SocketServer, threading
class SimpleThreadedXMLRPCServer(SocketServer.ThreadingMixIn, SimpleXMLRPCServer.SimpleXMLRPCServer):
pass
class ABC(object):
def A(self):
...........
def B(self):
...........
def C(self):
...........
class XYZ(unittest.TestCase,ABC):
def setUp(self):
print "Inside setup"
pass
def tearDown(self):
print "Inside tearDown"
pass
def test_1(self):
self.A()
self.B()
self.C()
def D(self):
print "Inside D"
return True
suite = unittest.TestLoader().loadTestsFromTestCase(XYZ)
class ServerThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.server = SimpleThreadedXMLRPCServer(("x.x.x.1", 8000))
#self.server.register_instance() #How to Register an instance of XYZ here.
def run(self):
self.server.serve_forever()
server = ServerThread()
server.start()
註冊一個類的實例所以我的問題是,如何在這裏註冊的XYZ
一個實例。在註釋行的上方,使得它可以從客戶端XMLRPC喜歡被稱爲:如何創建單元測試在Python中繼承的類的實例,這樣我就可以在simpleXMLRPCServer
client = xmlrpclib.ServerProxy("http://x.x.x.2:8000")
handraise = client.D() #Or any other possible way
我知道它的工作原理與register_function(D)
但我希望全班XYZ
使用register_instance()
被曝光。