我需要做一个大的python套件,它由其他的套件和测试套件组成,我已经做了这些套件来一起执行。
我该怎么做?
例如,这里有一个suitecase(suiteFilter.py),我想添加:
import testFilter1
import testFilter2
import unittest
import sys
def suite():
return unittest.TestSuite((\
unittest.makeSuite(testFilter1.TestFilter1),
unittest.makeSuite(testFilter2.TestFilter2),
))
if __name__ == "__main__":
result = unittest.TextTestRunner(verbosity=2).run(suite())
sys.exit(not result.wasSuccessful())
以及测试用例结构(Invoice.py):
from selenium import selenium
import unittest, time, re
from setup_tests import filename, fileForNrTest, username, password, server_url
fileW=open(filename,'a')
class TestInvoice(unittest.TestCase):
def setUp(self):
self.verificationErrors = []
self.selenium = selenium("localhost", 4444, "*firefox", server_url)
self.selenium.start()
def test_invoice(self):
sel = self.selenium
[...]
def tearDown(self):
self.selenium.stop()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()
谢谢你!
您可以提供一些额外的信息,比如程序/测试用例和套件的结构。我的方法是为每个模块定义一个suite()。所以我对UserServiceTest模块说:
然后对每个包进行一次主要测试:
您可以递归地执行此操作,直到项目的根目录。因此,来自包A的主测试将收集包A中的所有模块+来自包A的子包的主测试等等。我假设您正在使用
unittest
,因为您没有提供任何额外的细节,但是我认为这个结构也可以应用于其他python测试框架。编辑:我不太确定我是否完全理解您的问题,但根据我的理解,您希望在同一个套件中同时添加suiteFilter.py中定义的套件和Invoice.py中定义的测试用例?如果是,为什么不直接在mainTest.py中执行例如:
您可以将所有相同的测试和套件添加到测试套件。
相关问题 更多 >
编程相关推荐