Python参数化框架parameterized+单元测试框架unittest HTMLReport nose
Python参数化和单元测试框架使用
- 背景
- 思路
- 代码
- 运行
- 方法一
- 方法二
- 参考
背景
为了更好地管理自动化测试用例,同时对用例输入进行参数化,并且生成好看的测试报告,对题目中的几个框架进行了组合使用。
思路
- parameterized 参数化让单元测试更好管理用例输入变量
- unittest便于管理测试用例
- HTMLReport生成便于查看的HTML测试报告
- nose让用例更好编写,更好执行
代码
# test_math.py
# best suitable for nose framework: nosetests -v test_math.py
from nose.tools import assert_equal
from parameterized import parameterized, parameterized_classimport unittest
import math
import HTMLReport@parameterized([(2, 2, 4),(2, 3, 8),(1, 9, 1),(0, 9, 0),
])
def test_pow(base, exponent, expected):assert_equal(math.pow(base, exponent), expected)class TestMathUnitTest(unittest.TestCase):@parameterized.expand([("negative", -1.5, -2.0),("integer", 1, 1.0),("large fraction", 1.6, 1),])def test_floor(self, name, input, expected):assert_equal(math.floor(input), expected)@parameterized_class(('a', 'b', 'expected_sum', 'expected_product'), [(1, 2, 3, 2),(5, 5, 10, 25),
])
class TestMathClass(unittest.TestCase):def test_add(self):assert_equal(self.a + self.b, self.expected_sum)def test_multiply(self):assert_equal(self.a * self.b, self.expected_product)@parameterized_class([{"a": 3, "expected": 2},{"b": 5, "expected": -4},
])
class TestMathClassDict(unittest.TestCase):a = 1b = 1def test_subtract(self):assert_equal(self.a - self.b, self.expected)if __name__ == '__main__':cases = unittest.defaultTestLoader.discover('./', pattern='test_math.py')runner = HTMLReport.TestRunner(report_file_name='test',output_path='../report',description='no descriptions',thread_count=1,thread_start_wait=3,sequential_execution=False,lang='en')runner.run(cases)
运行
方法一
python test_math.py
运行结果
方法二
nosetests -v test_math.py
运行结果
参考
- parameterized模块:https://pypi.org/project/parameterized/
- unittest模块:https://docs.python.org/3/library/unittest.html
- HTMLReport模块:https://pypi.org/project/HTMLReport/
Python参数化框架parameterized+单元测试框架unittest HTMLReport nose相关推荐
- Python 标准库之单元测试框架 -- unittest
用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库--unittest. unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那 ...
- Python必会的单元测试框架 —— unittest
用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库--unittest. unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那 ...
- python unitest框架_python单元测试框架Unitest
一.unitest简介 unittest是python内置的单元测试框架,具备编写用例.组织用例.执行用例.输出报告等自动化框架的条件. 使用unittest前需要了解该框架的五个概念: test c ...
- python+selenium+unittest测试框架1-unittest单元测试框架和断言
unittest单元测试框架和断言 一.unittest单元测试框架简介 1.导入unittest模块 import unittest 2.定义测试类 class Login(unittest.Tes ...
- android集成测试框架,Android单元测试框架选择
Android单元测试介绍 处于高速迭代开发中的Android项目往往需要除黑盒测试外更加可靠的质量保障,这正是单元测试的用武之地.单元测试周期性对项目进行函数级别的测试,在良好的覆盖率下,能够持续维 ...
- php的单元测试框架,PHP 单元测试框架 Testify | 码农软件 - 码农网
软件介绍 Testify(Testify.php) 是个极小的 PHP 5.3+ 单元测试框架. 代码示例: require 'vendor/autoload.php'; use Math\MyCal ...
- python测试框架untest_Python单元测试框架 unittest详解
以上是函数的测试,类的测试与函数的测试及其相似 1 import unittest2 3 #-*-coding:utf-8-*- 4 classAnonymousSurvey():5 "&q ...
- python selenium unittest_python+selenium+unittest单元测试框架
unittest简介 python自动化测试不得不提unittest,unittest原名为PyUnit是python自带的单元测试框架,类似于java的JUnit是有JUnit衍生而来. unitt ...
- Python - unittest单元测试框架(全)
一.简介 1.unittest的作用 unittest是Python内置的单元测试框架,主要用于单元测试,具备编写用例.组织用例.执行用例.输出报告等作用. 2.单元测试框架的优点 单元测试是通过一段 ...
最新文章
- Web应用虚拟目录的映射的几种方式
- 捉虫记---查看变量,整数转浮点
- 开源大数据周刊-2018年08月10日 第96期
- 2020-11-11(C语言下JNI开发hello过程)
- 你见过出道即巅峰吗?
- java quartz spring_JavaLib-quartz | 基于Spring Boot Quartz开发的定时任务
- python用牛顿迭代法求平方根_Python编程实现二分法和牛顿迭代法求平方根代码
- c语言两数相加vs,两数相加(C语言)
- DBA知道这17条Linux命令,就够了!
- 2017.10.1 atcoder TK1 D 思考记录
- 暴风影音2013校园招聘笔试题目——c语言D卷
- Java生态技术体系科普
- chrome浏览器使用
- html网页如何将文字排版,网页中的文字怎么去进行排版
- C++实现DNS域名解析
- java——傻瓜电梯
- 第六届ACM省赛总结--吕云飞
- python字典的删除(简介明了)
- 《自控力》-- 精华摘抄
- 【linux服务器】使用csdn云主机的体验与问题