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