运行套件时,Nose不执行setUpClass

时间:2017-08-18 13:20:48

标签: python python-3.x

让Cases.py文件包含已定义的测试套件:

def tests():
    setup = {
         'full': (
                 Clients.TestClients,
                 )
    }
    cases = os.getenv('testrun', 'full')
    all_tests = ()
    for case in setup[cases]:
        all_tests = itertools.chain(all_tests, TestLoader().loadTestsFromTestCase(case))
    suite = LazySuite(all_tests)
    nose.run(suite=suite)

还为用户提供具有已定义方法和类(如模板)的类:

class Admin(MainTemplate):

    @classmethod
    def setUpClass(cls):
        cls.login(cls.autotest_admin, cls.default_password)

    @classmethod
    def tearDownClass(cls):
        cls.logout()

并提交测试文件:

class TestClients(Admin):

    def test_one(self):
         print(1)

如果手动(从ide)运行类,将执行setUpClass 但是如果运行Cases.py文件,则不会执行setUpClass

怎么了?

UPD : 我只是理解同样的事情,TestLoader().loadTestsFromTestCase(case)只能加载test_函数,而不是加载setUpClass方法的所有文件,这可能是真实的故事吗?

我如何以编程方式模拟正在运行的整个文件(例如来自IDE)?

0 个答案:

没有答案