unittest 测试用例添加到测试套件的4种方式


模块说明

登录功能代码

login.py

def login_check(username,password):
    '''
    :param username:
    :param password:
    :return:
    '''
    if 6<=len(password)<=18:
        if username =='python' and password =='123456':
            return {"code":0,"msg":"登陆成功"}
        else:
            return {"code":1,"msg":"账号或密码不正确,登陆失败"}
    else:
        return {"code":1,"msg":"密码长度在6-18位之间"}

测试用例代码

testcases.py

import unittest
from class_10 import login
#1、定义测试用例类
#2、定义测试用例(1.准备测试用例数据-入参、预期结果 2.执行功能函数,获取实际结果。3.比对预期结果和实际结果)
#3、测试用例执行顺序根据ASCII码顺序来执行
from class_10.login import login_check


class Test_login(unittest.TestCase):
    def test_login_case_pass(self):
        username = 'python'
        password = '123456'
        excepted = {"code":0,"msg":"登陆成功"}
        res = login_check(username,password)
        self.assertEqual(excepted, res)

    def test_login_pwd_error(self):
        username = 'python'
        password = '123455'
        excepted = {"code":1,"msg":"账号或密码不正确,登陆失败"}
        res = login_check(username,password)
        self.assertEqual(excepted,res)

运行测试用例代码

run_testcases.py

import unittest
import testcases
from class_10.testcases import Test_login
#1、创建测试套件(实例化测试套件)
#2、测试用例加载到测试套件(4种方式)

#方式1.单个测试用例添加到测试套件中
suite = unittest.TestSuite()
suite.addTest(Test_login('test_login_case_pass'))
#方式2.测试用例类添加到测试套件中【场景:一个接口定义一个测试用例类】
loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromTestCase(Test_login))
#方式3.测试用例模块添加到测试套件中【场景:一个用户模块有多个接口(注册登录)】
loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromModule(testcases))
#方式4.一个路径(目录)下所有的测试用例添加到测试套件中【场景:一个项目下的所有测试用例】
loader = unittest.TestLoader()
suite.addTest(loader.discover(r'E:\untitled\class_10\testdata'))

打印查看

执行测试套件

run_testcases.py

import unittest
import testcases
from class_10.testcases import Test_login
#1、创建测试套件(实例化测试套件)
#2、测试用例加载到测试套件(4种方式)
#3、执行测试套件中所有测试用例(runner)

#1.单个测试用例添加到测试套件中
suite = unittest.TestSuite()
# suite.addTest(Test_login('test_login_case_pass'))
#1.测试用例类添加到测试套件中
loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromTestCase(Test_login))
#1.测试用例模块添加到测试套件中
# loader = unittest.TestLoader()
# suite.addTest(loader.loadTestsFromModule(testcases))
#1.一个路径(目录)下所有的测试用例添加到测试套件中
# loader = unittest.TestLoader()
# suite.addTest(loader.discover(r'E:\untitled\class_10\testdata'))

runner = unittest.TextTestRunner() # 实例化
runner.run(suite) #调用测试套件

运行结果


原文链接:https://blog.csdn.net/weixin_41543143/article/details/103177269


登录 - 评论

评论