1.命令行执行
1.1执行路径下符合匹配条件的测试用例
python -m unittest discover -s +测试用例路径 -p +测试用的匹配格式
python -m unittest discover -s D:yxprojectyx_ydsjcases -p "*.py"
1.2 执行所在路径下的所有的unittest测试用例
python -m unittest
1.3单个测试用例执行
python +测试用例路径
1.4 python -m unittest test_case.TestCase.test_01 执行test_case包下面的TestCase类的test_01方法
2.代码执行
2.1 使用unittest.main(),执行所在文件中的测试用例
if __name__ == "__main__": unittest.main()
2.1使用TestLoader,可以加入任意想执行的测试用例,组合比较方便
if __name__ == "__main__": suite1 = unittest.TestLoader().loadTestsFromTestCase(TestLogin("test_login")) suite2 = unittest.TestLoader().loadTestsFromTestCase(TestWelMessage("test_addWelcomeMessage")) suite = unittest.TestSuite([suite1, suite2]) unittest.TextTestRunner(verbosity=2).run(suite)
2.2 使用 discover
#coding:utf-8 import time from Lib import HTMLTestRunner import unittest import os import sys from cases.Test_yx_Login import TestLogin from cases.Test_yx_yl_welmessage import TestWelMessage case_path = os.path.join(os.path.dirname(os.path.realpath("../cases/*"))) #时间 now = time.strftime("-%Y-%m-%d-%H-%M-%S") report_path = os.path.join(os.getcwd(),"report{0}.html".format(now)) if __name__ == "__main__": suite = unittest.defaultTestLoader.discover(case_path,pattern="Test*.py") fr = open(report_path,"wb") runner = HTMLTestRunner.HTMLTestRunner(stream=fr,title=u"自动化测试报告",description=u"自动化测试用例运行结果如下:") runner.run(suite)
2.3使用测试套件,(暂时还没使用,使用的时候再整理)
suite = unittest.TestSuite() suite.addTest(UTest('test_isupper')) suite.addTest(UTest('test_upper'))