wordpress设置图片,台州网站优化排名,计算机专业论文 网站建设,百度指数官网查询入口文章目录 一、UnitTest框架是什么#xff1f;二、UnitTest核心要素三、TestCase四、TestSuite TestRunner 一、UnitTest框架是什么#xff1f;
UnitTest框架是python自带的一个单元测试框架#xff0c;主要用它来做单元测试#xff0c;它有以下特点#xff1a;
能… 文章目录 一、UnitTest框架是什么二、UnitTest核心要素三、TestCase四、TestSuite TestRunner 一、UnitTest框架是什么
UnitTest框架是python自带的一个单元测试框架主要用它来做单元测试它有以下特点
能够组织多个用例去执行提供丰富的断言方法能够生成测试报告
二、UnitTest核心要素
1.TestCase(最核心模块) TestCase(测试用例)注意我们这个测试用例是unittest框架的组成部分不是手工和自动化中我们所说的用例(Test Case)
主要作用每个TestCase都是一个代码文件在这里代码文件中来书写真正的用例代码
2.TestSuite TestSuite(测试套件)用来管理组装多个TestCase的
3.TestRunner TestRunner(测试执行测试运行)用来执行TestSuite(测试套件)的
4.TestLoader TestLoader(测试加载)功能是对TestSuite(测试套件)功能的补充用来管理 组装多个TestCase的
5.Fixture Fixture(测试夹具)书写在TestCase(测试用例)代码中是一个代码结构可以在每个方法前后都会执行的内容
三、TestCase
TestCase是一个代码文件在代码文件中书写真正的用例代码代码文件的名字必须按照标识符的规则来书写(可以将代码的作用在文件的开头使用注解说明)
使用步骤
导包(unittest)自定义测试类在测试类中书写测试方法执行用例
代码目的: 学习TestCase(测试用例)模块的书写方法
# 1. 导包
import unittest# 2. 自定义测试类,需要继承unittest模块中的TestCase类即可
class TestDemo(unittest.TestCase):# 3. 书写测试方法, 也就是真正的测试代码# 书写要求测试方法必须以test_开头(本质是以test开头)def test_method1(self):print(TestCase1)def test_method2(self):print(TestCase2)
# 4. 执行测试用例
在执行测试用例方法时我们有以下两种方式
将光标放在类名的后边运行会执行类中的所有测试方法 2. 将光标放在方法名的后边运行只执行当前的方法
常见问题 1.代码文件命名不规范 1.代码文件的名字以数字开头 2.代码文件名字中有空格 3.代码文件名字中有中文 4.其他的特殊符号 (数字字母下划线组成不能以数字开头) 2.代码运行没有结果 右键运行没有unittests for的提示出现的问题 解决方案 重新建一个代码文件将写好的代码复制进去删除已有的运行方式 这样默认就是用的unittest方式运行 3.没有找到用例 测试方法不是以test开头的或者单词写错了
四、TestSuite TestRunner
TestSuite(测试套件)管理 打包 组装TestCase(测试用例)文件的 TestRunner(测试执行)执行TestSuite(套件) 步骤
导包(unittest)实例化(创建对象)套件对象使用套件化对象添加用例方法 4.实例化运行对象 使用运行对象执行套件对象
具体代码 TestSuite(测试套件)是用来管理多个TestCase的我们需要先创建多个TestCase文件
学习 TestSuite 和 TestRunner使用
# 1. 导包
import unittestfrom test.testcase_1 import TestDemo1
from test.testcase_2 import TestDemo2# 2. 实例化套件对象
suite unittest.TestSuite()# 3. 使用套件对象添加用例方法# 方式一: 套件对象.addTest(测试类名(方法名)) 建议直接复制
suite.addTest(TestDemo1(test_method1))
suite.addTest(TestDemo1(test_method2))
suite.addTest(TestDemo2(test_method1))
suite.addTest(TestDemo2(test_method1))# 4. 实例化运行对象
runner unittest.TextTestRunner()# 5. 使用运行对象去执行套件
runner.run(suite) 使用测试套件对象添加测试用例方法的第二种方法 # 方式二: 将一个测试类的所有方法进行添加# 套件对象.addTest(unitest.makeSuite(测试类名))# 缺点 makeSuite() 这个方法官方是不太建议用的
suite.addTest(unittest.makeSuite(TestDemo1))
suite.addTest(unittest.makeSuite(TestDemo2))给出了下述的提示信息DeprecationWarning: unittest.makeSuite() is deprecated and will be removed in Python 3.13. Please use unittest.TestLoader.loadTestsFromTestCase() instead. suite.addTest(unittest.makeSuite(TestDemo1))。但是可以正确输出结果的 我们在运行完后上面的符号是有一定的含义的 . 代表用例通过F 代表用例不通过E error 用例代码有问题
注意点 1.unittest.TestSuite()和unittest.TextTestRunner()是方法需要加括号的 2.运行时对象是.TextTestRunner()不是.TestRunner()