我试图了解使用unittest.TestCase类进行多重继承时会发生什么.
MyTest_DoesWork输出我的期望,这既是setUp()和tearDown()被触发.这不会发生MyTest_DoesNotWork.为什么会这样?任何线索?
import unittest
class MyClassTest1(object):
def setUp(self):
print 'Setting up', self.__class__
def test_a1(self):
print "Running test_a1 for class", self.__class__
def test_a2(self):
print "Running test_a2 for class", self.__class__
def tearDown(self):
print 'Tearing down', self.__class__
class MyClassTest2(object):
def setUp(self):
print 'Setting up', self.__class__
def test_b1(self):
print "Running test_b1 for class", self.__class__
def test_b2(self):
print "Running test_b2 for class", self.__class__
def tearDown(self):
print 'Tearing down', self.__class__
class MyTest_DoesNotWork(unittest.TestCase, MyClassTest1, MyClassTest2):
"""
Output:
Running …Run Code Online (Sandbox Code Playgroud) 我正在使用python suds库来创建基于本地wsdl文件的SOAP客户端.我的目标是使用Twisted作为后端,因此我以异步方式查询SOAP服务器.
我知道这个主题已被覆盖不同的时间(here1,here2),但我仍然有一些问题.
我已经看到三种不同的方法来使用与肥皂混合:
a)将此补丁应用于suds库.
b)使用tw-suds,这是肥皂水.
c)受到这篇文章的影响,我Client_Async使用扭曲deferToThread操作实现了suds客户端(在这里可以找到完全工作的要点.我还实现了一个Client_Syncsuds客户端以做一些基准测试)
# Init approach c) code
from suds.client import Client as SudsClient
from twisted.internet.threads import deferToThread
class MyClient(SudsClient):
def handleFailure(self, f, key, stats):
stats.stop_stamp(error=True)
logging.error("%s. Failure: %s" % (key, str(f)))
def handleResult(self, result, key, stats):
stats.stop_stamp(error=False)
success, text, res = False, None, None
try:
success = result.MessageResult.MessageResultCode == 200
text = result.MessageResult.MessageResultText
res = result.FooBar …Run Code Online (Sandbox Code Playgroud)