关于加载测试用例的一些问题

写了个用例,测试main执行:

if __name__ == '__main__':
    print('哈哈哈啊哈哈哈啊哈')
    loader = unittest.TestLoader()
    # suite = loader.loadTestsFromTestCase(TestKtp)  # 两种都行
    suite = loader.loadTestsFromModule('test_case_ktp')

    path = os.path.abspath(os.path.join(os.getcwd(), '..', 'report', 'ktp_report4.html'))
    with open(path, 'wb') as file:
        runner = HTMLTestRunner_cn.HTMLTestRunner(stream=file, verbosity=2, title='课堂派登录测试',
                                                  description='用不同的账号密码对登陆进行测试')
        runner.run(suite)

或者在run模块执行:

import os
import sys
# sys.path.append(os.path.dirname(os.path.dirname(__file__)))
sys.path.append(os.path.abspath(os.path.join(os.getcwd(), '..')))
import unittest
from test_case.test_case_ktp import TestKtp
from common import HTMLTestRunner_cn
from test_case import test_case_ktp
from tool import read_excel

# loader = unittest.TestLoader()
# # suite = loader.loadTestsFromTestCase(TestKtp)  # 这种行,下面不行
# suite = loader.loadTestsFromModule('test_case_ktp')

suite = unittest.TestSuite() # 用例仓库
suite.addTest(TestKtp('test_login'))   # TestMathMethod的父类有初始化函数,要传参methodName='runTest'


path = os.path.abspath(os.path.join(os.getcwd(), '..', 'report', 'ktp_report5.html'))
with open(path, 'wb') as file:
    runner = HTMLTestRunner_cn.HTMLTestRunner(stream=file, verbosity=2, title='课堂派登录测试',
                                              description='用不同的账号密码对登陆进行测试')
    runner.run(suite)

发现:

在main里面以unittest的方式通过HTMLTestRunner运行测试用例是得不到测试报告的,
必须以文件名的方式运行,加载用例用加载器FromModule和FromTestCase都可以,或者在模块以外用FromTestCase加载用例去运行,
此时用FromModule却不行,但不报错,若用suite=unittest.testsuite(),suite.addTest(TestKtp('test_login'))添加用例,无论在
main里还是在模块外的run模块里执行都会报错,不知道为什么!!!是本来就是这样还是与我代码运行环境有关,不得而知.

猜你喜欢

转载自www.cnblogs.com/wangyi0419/p/11261596.html