【使用unittest框架】测试用例、测试套件和测试加载器的运用以及加载测试用例的四种方法

前言

一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210418。

 

5、使用unittest框架

  1. unittest框架简介

  2. Unittest中类方法和实例方法

  3. 测试用例、测试套件和测试加载器的运用以及加载测试用例的四种方法

  4. 使用unittest重构测试用例

  5. 为项目生产测试报告

 

主要步骤就是

  1. 写测试案例初始化就是加载器加载:loader=unittest.TestLoader()
  2. 定义测试套件:suite=unittest.TestSuite()
  3. 通过测试套件加载测试用例(四种方法)
  4. 运行测试案例:runner=unittest.TextTestRunner()、runner.run(suite)

 

加载测试用例的四种方法

  • 0、实例化

  • loader=unittest.TestLoader()        #初始化,也叫加载器加载
  • suite=unittest.TestSuite()              #定义测试套件
  • 1、方法一:通过测试用例类进行加载

 

  • suite.addTest(loader.loadTestsFromTestCase(MyTestCase1))
  • suite.addTest(loader.loadTestsFromTestCase(MyTestCase2))
  • 2、方法二:通过测试用例模版进行加载

  • suite.addTest(loader.loadTestsFromModule(MyTestCase1))
  • suite.addTest(loader.loadTestsFromModule(MyTestCase2))
  • 3、方法三:通过路径加载(推荐

  • path = os.path.dirname(os.path.abspath(__file__))

  • suite.addTest(loader.discover(path))

  • 4、方法四:逐条加载测试用例(不推荐,太low)

  • case1 = MyTest1("test1")
  • case2 = MyTest2("test2")
  • suite.addTest(case1)
  • suite.addTest(case2)

实操

  • 代码
# 测试案例/测试套件/测试加载器运用
import unittest


class MyTestCase1(unittest.TestCase):

    def test01(self):
        print("test01")

    def test02(self):
        print("test02")


class MyTestCase2(unittest.TestCase):
    def test03(self):
        print("test03")

    def test04(self):
        print("test04")


# # 第一种:通过测试用例类进行加载
# if __name__ == '__main__':
#
#     # 先初始化就是加载器
#     loader = unittest.TestLoader()
#     # 测试套件
#     suite = unittest.TestSuite()
#     # 加载案例  测试用例方法加载测试用例loadTestsFromTestCase
#     suite.addTest(loader.loadTestsFromTestCase(MyTestCase1))
#     suite.addTest(loader.loadTestsFromTestCase(MyTestCase2))
#
#     # 运行
#     runner = unittest.TextTestRunner()
#     runner.run(suite)


# # 第二种:通过测试用例模版进行加载
# if __name__ == '__main__':
#     #通过测试用例模板去加载
#     # 先初始化就是加载器
#     loader = unittest.TestLoader()
#     # 测试套件
#     suite = unittest.TestSuite()
#     # 加载案例 通过测试用例模板加载loadTestsFromModule
#     suite.addTest(loader.loadTestsFromModule(MyTestCase1))
#     suite.addTest(loader.loadTestsFromModule(MyTestCase2))
#
#     # 运行
#     runner = unittest.TextTestRunner()
#     runner.run(suite)


# 第三种通过路径加载(最推荐)
if __name__ == '__main__':
    # 通过路径加载
    # 先初始化就是加载器
    loader = unittest.TestLoader()
    # 测试套件
    suite = unittest.TestSuite()
    
    # 通过路径加载
    import os
    path = os.path.dirname(os.path.abspath(__file__))
    suite.addTest(loader.discover(path))

    # 运行
    runner = unittest.TextTestRunner()
    runner.run(suite)


#     # 第四种逐条加载还是算了  太low

  • 运行结果

“永不放弃,总有希望在前面等待!”送给自己,也送给正在阅读文章的博友们~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小慌慌

感谢博友的鼓励,快乐分享~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值