python单元测试模块unittest的接口测试总结

目录

模块定义

python代码批量生成的测试用例所包含的方法

unittest模块组织并执行上述用例的关键方法

接口自动化测试时的注意事项

HTML测试报告相关

参考


模块定义

  • unittest是python自带的单元测试框架。
  • 要使用unittest模块就需要明确什么样的测试用例才能被unittest组织并执行,下面依次进行介绍。

python代码批量生成的测试用例所包含的方法

  • 比如在python实现的接口自动化测试过程中,通过python代码批量生成测试用例类(继承unittest.TestCase),在类中实现以test开头的测试用例方法,一个测试用例类可以包含多个test开头的测试用例方法,然后再通过unittest模块的关键方法实现组织测试用例批量执行、断言并生成测试结果。以下列出完整的一个测试类包含的方法:
    • class PushOrder(unittest.TestCase) ,生成一个类并继承unittest.TestCase
    • def setUp(self) ,用于在每个用例执行前做初始化工作,如连接数据库、加载EXCEL等。一条用例执行一次,多条用例执行多次。
    • def tearDown(self) 用于执行完测试用例后的收尾工作,比如断开数据库连接,关闭文件等。一条用例执行一次,多条用例执行多次。
    • def test_pushOrder(self), 在这个方法中完成了请求入参的拼接、请求的触发、根据检查点对响应结果做校验、响应结果的存储、依赖数据的存储、执行结果的写入等。
    • 注,测试固件setUp和tearDown每次执行用例都会重新执行,如果想更高效可以使用类方法,可以用类方法setUpClass()在所有用例执行前就一次性的准备好环境,用类方法tearDownClass()所有用例执行完后再清理环境。
      • ...
        
        class ApushOrder(unittest.TestCase):
            """ApushOrder"""
        
            @classmethod
            def setUpClass(cls):
                print "This setUpClass() method only called once."
        
            @classmethod
            def tearDownClass(cls):
                print "This tearDownClass() method only called once too."
        
        ...

         

  • unittest会自动识别test开头的方法为测试代码,不以test开头的方法不会被unittest组织并执行。
  • unittest对test开头的测试用例方法的相关装饰器包括:
    • @unittest.skip(reason) 不执行该用例,跳过。
    • @unittest.skipif(condition, reason) 条件为真跳过该用例。
    • @unittest.skipUnless(condition, reason) 条件为假跳过该用例。
    • @unittest.expectedFailure 将测试用例标记为“预期失败”。
    • @unittest.SkipTest(resaon) 跳过测试方法,可以在测试方法或者setUp()中调用该方法。

unittest模块组织并执行上述用例的关键方法

  • 主要流程就是加载测试用例->把测试用例加入到测试套件中->通过runner执行测试套件。
  • Unittest.TestLoader()、Unittest.TestSuit()、Unittest.TextTestRunner()。
  • Unittest.TestLoader()加载测试用例类,加载测试用例相关方法:
    • loadTestsFromTestCase()
      • testcase = unittest.TestLoader().loadTestsFromTestCase(testCaseClass),testCaseClass即PushOrder类,这里的类必须是Unittest.TestCsse的子类。
    • loadTestsFromModule()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值