Python Unittest原理及基本使用方法(下)
【摘要】 运行结果调用 Class1 初始化函数Class1 的姓名是:设置了名字调用 Class1 初始化函数Class1 的姓名是:设置了名字调用 Class1 初始化函数Class1 的姓名是:未定义姓名...----------------------------------------------------------------------Ran 3 tests in 0.000sOKP...
运行结果
调用 Class1 初始化函数
Class1 的姓名是:设置了名字
调用 Class1 初始化函数
Class1 的姓名是:设置了名字
调用 Class1 初始化函数
Class1 的姓名是:未定义姓名
...
----------------------------------------------------------------------
Ran 3 tests in 0.000s
OK
Process finished with exit code 0
记录测试报告到txt文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# -*- encoding=utf-8 -*-
import unittest
from Test_Demo2 import CallClass1
if __name__ = = '__main__' :
testSuite = unittest.TestSuite()
testSuite.addTest(CallClass1( 'test_set_name' ))
testSuite.addTests(
[CallClass1( 'test_set_name' ), CallClass1( 'test_print_name' )])
# textTestRunner = unittest.TextTestRunner()
# textTestRunner.run(testSuite)
# 将测试结果输出到测试报告中
with open ( 'UnittestTextReport.txt' , 'w' ) as f:
runner = unittest.TextTestRunner(stream = f, verbosity = 2 )
runner.run(testSuite)
|
记录测试报告到html文件
1
2
3
4
5
6
7
8
|
# 将测试结果输出到测试报告html中
with open ( 'HTMLReport.html' , 'w' ) as f:
runner = HTMLTestRunner(stream = f,
title = 'MathFunc Test Report' ,
description = 'generated by HTMLTestRunner.' ,
verbosity = 2
)
runner.run(suite)
|
断言
当断言为真时,会执行断言之后的代码如(在断言之后打印成功提示信息)
若断言为假,则之后的代码不会被执行,打应错误信息,之后提示信息不会被执行;unittest中提示F,失败,若捕获到异常,则为E,代表错误;
补充:若断言为假,则当前函数def,停止运行,但会运行之后的def函数
重点:try语句块中不要使用assert一起使用,assert断言为假时,会抛出异常,测试用例为失败,如果放到try中,则会捕获到异常,测试用例永远标记为通过
断言结果:
. 表示通过 或者 pass
F False, 表示断言没有通过
E Error, 表示程序内部发生了错误。
查找当前目录下所有的测试用例【默认以test开头的py文件,可以自己配置】
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# -*- encoding=utf-8 -*-
import unittest
import os
if __name__ = = '__main__' :
loader = unittest.defaultTestLoader.discover(os.getcwd())
# tests = unittest.defaultTestLoader.discover(
# start_dir='.', # => 指定查找的目录
# pattern='test*.py' # => 指定查找规则
# )
runner = unittest.TextTestRunner()
runner.run(loader)
|
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)