unittest之TextTestRunner


unittest中,当要运行用例并生成报告时,有多种方式。现在我们就来将最原始的一种方式:TextTestRunner()

该方式会将测试文件写到一个文件中。

示例:

# 时间戳
time_stamp = time.strftime("%Y%m%d%H%M%S")
report_dir = os.path.join(os.path.dirname(__file__), "report", (time_stamp + ".txt"))

if __name__ == '__main__':
    suite = unittest.TestLoader().discover(start_dir=r".\test_collections_b", pattern='test*.py', top_level_dir=None)
    with open(file=report_dir, mode="a", encoding="utf-8") as file:
        runner = unittest.TextTestRunner(stream=file, descriptions=True, verbosity=2)
        runner.run(suite)

在示例中:
1、我们生成了一个时间戳:time_stamp,用于区分不同的测试报告文件,且可以看到测试报告的生成信息。
2、report_dir为测试报告文件的完整路径,文件名为time_stamp
3、在window中,os.mknod()无法生成一个空的文件,那么我们就打开测试报告文件时使用追加模式(mode="a")
这样在文件不存在时,将会生成一个新的文件。
4、实例化一个TextTestRunner对象,TextTestRunner()主要参数:
a,stream:文件流。
b,verbosity:报告详细等级。
5,TextTestRunner对象调用run方法(传入套件)

此种方式较老,落伍了!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM