unittest 详解】的更多相关文章

一 整体结构概览 unittest原名为PyUnit,是由java的JUnit衍生而来.对于单元测试,需要设置预先条件,对比预期结果和实际结果. TestCase :通过继承TestCase类,我们可以创建一个test,或者一组tests. 一个TestCase的实例就是一个测试用例,是一个完整的测试流程,包括测试前准备环境的搭建(setUp),实现测试过程的代码(run),测试后环境的还原(tearDown). Test Suites : 测试套件, 把多个测试用例集合在一起来执行.可以通过a…
  内容总括 一. 初始化 setUp 与 tearDown setUpClass 与 tearDownClass unittest.main(verbosity=0/1/2) 二. 执行顺序 按顺序执行 addTest 按测试类执行,应用场景为:在一堆类里只想执行其中的一个类 按测试模块执行,一个py文件代表一个模块,应用场景为:批量执行 三. 断言 assertEqual(a,b) assertNotEqual(a,b) assertTrue(x) assertFalse(x) assert…
用例执行完成后,执行结果默认是输出在屏幕上,其实我们可以把结果输出到一个文件中,形成测试报告. unittest自带的测试报告是文本形式的,如下代码: import unittest if __name__ == "__main__": # 测试用例目录 test_dir = r"D:\Git\Test_Framework\test_case" # 加载测试用例 discover = unittest.defaultTestLoader.discover(test_…
我们在执行测试用例时,怎么来判断这条用例是否通过呢?唯一的办法就是拿实际结果和预期结果进行比较,如果一致用例就是通过的,否则用例就是失败的.在python中这种比较的方法就叫做断言,unittest框架提供了一系列的断言方法. 常用的断言方法如下: 序号                  断言方法                       描述 1 assertEqual(arg1, arg2, msg=None) 验证arg1=arg2,不等则fail 2 assertNotEqual(ar…
我们知道setUp()和setDown()的作用是在每条测试用例执行前准备测试环境以及用例测试结束后恢复测试环境,如果我们执行的测试类下所有测试用例的环境准备和环境复原的操作都是一样的,那么我们就没必要每条测试用例执行前都执行一次setUp()和setDown()的操作.在运行测试类前只执行一次环境的准备,测试类运行结束后只执行一次环境复原的操作,这时我们就可以引入装饰器@classmethod 代码: # coding = utf-8 import unittest import warnin…
前面我们说了,对于不同文件用例,我们可以通过addTest()把用例加载到一个测试套件(TestSuite)来统一执行,对于少量的文件这样做没问题,但是如果有几十上百个用例文件,这样做就太浪费时间了. unittest中的discover()方法可以批量加载用例 discover(start_dir, pattern='test*.py', top_level_dir=None) start_dir:测试模块名或测试用例所在目录 pattern='test*.py':表示用例文件名的匹配方式,此…
在前面一章中示例了如何编写一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文件,我们直接执行该文件即可,但如果有多个测试文件,怎么进行组织,总不能一个个文件执行吧? 要解决上面两个问题,我们就要用到测试套件(TestSuite)了 代码: # coding = utf-8 import unittest import warnings from selenium import webdri…
在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了. unittest提供了一些跳过指定用例的方法 @unittest.skip(reason):强制跳转.reason是跳转原因 @unittest.skipIf(condition, reason):condition为True的时候跳转 @unittest.skipUnless(condition, reason):condition为Fal…
unittest是python内置的一个单元测试框架,在学习怎么使用它之前,我们先来了解它的一些概念和原理. Test Case:测试用例,一个TestCase的实例就是一个测试用例.什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown).单元测试(unit test)的本质也就在这里,一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证. Test Suite:测试套件,就是…
在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了. unittest提供了一些跳过指定用例的方法 @unittest.skip(reason):强制跳转.reason是跳转原因 @unittest.skipIf(condition, reason):condition为True的时候跳转 @unittest.skipUnless(condition, reason):condition为Fal…