class SPThreadUnitTest(unittest.TestCase): def testgetResult(self): from random import randint self.i = randint(1,10) def p(n): return n self.t = spthread.SPThread(target=p, args=(self.i)) self.t.start() #self.t._res = self.t._target(self.t._args) self.assertEquals(self.i,self.t.getresult()) #spthread import threading class SPThread(threading.Thread): def __init__(self,target=None,args=None): threading.Thread.__init__(self) self._target = target self._args = args self._res = None def getresult(self): return self._res def run(self): self._res = self._target(self._args)