我需要针对多个REST后端资源运行Python unittest测试套件,因此我需要将Resource对象传递给测试套件和各个测试用例。
设置全局变量是正确的方法,还是有更好的方法?
resource =资源('http://example.com')
class RestTestCase(unittest.TestCase):
def setUp(self):
self.resource = resource
def suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(RestTestCase))
return suite
if __name__ == '__main__':
unittest.main(defaultTest='suite')
答案 0 :(得分:1)
按照标准库如何编写自己的单元测试的示例。将资源放在类变量中并使用继承来测试各种资源:
class RestTestCase(unittest.TestCase):
resource = Resource('http://example.com')
def sometest(self):
r = self.resource
...
self.assertEqual(expectedresult, actualresult)
class SomeOtherRestTestCase(RestTestCase):
resource = Resource('http://someother.example.com')
class YetAnotherRestTestCase(RestTestCase):
resource = Resource('http://yetanother.example.com')
if __name__ == '__main__':
unittest.main()