UnitTest核心要素(unitest的组成)
1. TestCase(最核心的模块)
Testcase(测试用例),注意这个测试用例是unittest框架的组成部分,不是手工和自动化中我们所说的用例( Test Case)
主要作用:每个Testcase(测试用例)都是一个代码文件,在这个代码文件中来书写真正的用例代码
2. TestSuite
Testsuite(测试套件),用来管理组装(打包)多个TestCase(测试用例)的
3. TestRunner
TestRunner(测试执行,测试运行),用来执行TestSuite(测试套件)的
4. TestLoader
TestLoader(测试加载),功能是对Testsuite(测试套件)功能的补充,管理组装(打包)多个Testcase(测试用例)的
5.Fixture
Fixture(测试夹具),书写在Testcase(测试用例)代码中,是一个代码结构,可以在每个方法执行前后都会执行的内容
举例:
登录的测试用例,每个用例中重复的代码就可以写在Fixture代码结构中,只写一遍,但每次用例方法的执行,都会执行 Fixture中的代码
1.打开浏览器2.输入网址
----------------------------------------------------------
1. TestCase(最核心的模块)
在一个项目中Testcase(测试用例)的代码,一般放在一个单独的目录(case)
1.是一个代码文件,在代码文件中来书写真正的用例代码
2.代码文件的名字必须按照标识符的规则来书写(可以将代码的作用在文件的开头使用注释说明)
步骤
1.导包(unittest)
2.自定义测试类
3.在测试类中书写测试方法
4.执行用例
"""代码的目的:学习TestCase(测试用例)模块的书写方法"""
# 1,导包
import unittest
# 2,自定义测试类,需要继承unittest模块中的 Testcase类即可
class TestDemo1(unittest.TestCase):
# 3,书写测试方法,用例代码
# 书写要求,测试方法必须以test_开头(本质是以test开头)
def test_method1(self):
print('测试方法1')
def test_method2(self):
print('测试方法2')
# 4,执行用例(方法)
# 4.1 将光标放在类名的后边运行,会执行类中的所有的测试方法
# #4.2将光标放在方法名的后边运行,只执行当前的方 法
2. TestSuite TestRunner
Testsuite(测试套件),用来管理组装(打包)多个TestCase(测试用例)的
TestRunner(测试执行,测试运行),用来执行TestSuite(测试套件)的
步骤
1.导包(unittestR
2.实例化(创建对象)套件对象
3.使用套件对象添加用例方法
4.实例化运行对象
5.使用运行对象去执行套件对象
"""学习TestSuite和 TestRunner的使用"""
# 1.导包(unittest)
import unittest
# 2。实例化(创建对象)套件对象,
from TestCase import TestDemo1, TestDemo2
suite = unittest.TestSuite()
# 3。使用套件对象添加用例方法
# 方式一,套件对象.addTest(测试类名('方法名'))
# 建议测试类名和方法名直接去复制,不要手写
# suite.addTest(TestDemo1('test_method1'))
# suite.addTest(TestDemo1('test_method2'))
# suite.addTest(TestDemo2('test_method1'))
# suite.addTest(TestDemo2('test_method2'))
# 方式二 将一个测试类中的所有方法进行添加
# 套件对象. addTest(unittest.makeSuite(测试类名))
# #缺点:makeSuite()不会提示
suite.addTest(unittest.makeSuite(TestDemo1))
suite.addTest(unittest.makeSuite(TestDemo2))
# 4.实例化运行对象
runner = unittest.TextTestRunner()
# 5.使用运行对象去执行套件对象
# 运行对象.run(套件对象)
runner.run(suite)
3,TestLoader (测试加载)
TestLoader(测试加载),作用和TestSuite 的作用是一样的,对TestSuite 功能的补充,用来组装测试用例的比如:如果Testcase 的代码文件有很多,(10 20,30 )-使用步骤
1.导包
2.实例化测试加载对象并添加用例--->得到的是suite对象
3.实例化运行对象
4.运行对象执行套件对象
# 在一个项目中Testcase(测试用例)的代码,一般放在一个单独的目录(case)
"""学习TestLoader的使用"""
# 1.导包(unittest)
import unittest
# 2,实例化加载对象并添加用例
# unittest.TestLoader( ).discover( '用例所在的路径','用例的代码文件名')
# 用例所在的路径,建议使用相对路径,用例的代码文件名可以使用*(任意多个任意字符)通配符
suite = unittest.TestLoade