使用nose_parameterized使unitTest实现参数化
nose-parameterized是一个针对Python单元测试框架实现参数化的扩展
import unittest
# from nose_parameterized import parameterized
from parameterized import parameterized class TestAdd(unittest.TestCase): @parameterized.expand([
("",1,2,3),
("",2,2,4),
("",4,4,4),
])
def test(self, name, a, b, c):
self.assertEqual(a+b,c) if __name__ == '__main__':
unittest.main(verbosity=2)
"""
这里的verbosity是一个选项,表示测试结果的信息复杂度,有三个值
0 (静默模式): 你只能获得总的测试用例数和总的结果 比如 总共100个 失败20 成功80
1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”
2 (详细模式):测试结果会显示每个测试用例的所有相关的信息
并且 你在命令行里加入不同的参数可以起到一样的效果
加入 --quiet 参数 等效于 verbosity=0
加入--verbose参数等效于 verbosity=2
什么都不加就是 verbosity=1
"""
或者:
#nose_parameterized_demo
import unittest
from nose_parameterized import parameterized class TestMathUnitTest(unittest.TestCase): params = [
("01",1,2,3),
("02",2,2,4),
("03",4,4,4),
] @parameterized.expand(input=params)
def test(self, name, a, b, c):
self.assertEqual(a+b,c)
运行结果
test_0_01 (__main__.TestAdd) ... ok
test_1_02 (__main__.TestAdd) ... ok
test_2_03 (__main__.TestAdd) ... FAIL ======================================================================
FAIL: test_2_03 (__main__.TestAdd)
----------------------------------------------------------------------
Traceback (most recent call last):
File "E:\python3\lib\site-packages\parameterized\parameterized.py", line 392, in standalone_func
return func(*(a + p.args), **p.kwargs)
File "F:/python/test/canshuhua.py", line 15, in test
self.assertEqual(a+b,c)
AssertionError: 8 != 4 ----------------------------------------------------------------------
Ran 3 tests in 0.001s FAILED (failures=1)
当相同入参和断言结果的用例越多,这种写法用起来越爽!
说明:
使用nose_parameterized使unitTest实现参数化的更多相关文章
- python3 应用 nose_parameterized 实现unittest 参数化
一.读取变量的值,实现unittest 参数化 import nose_parameterized,unittest def calc(a:int,b:int): return a+b case_da ...
- pytest和unittest中参数化如何做
参数化应用场景,一个场景的用例会用到多条数据来进行验证,比如登录功能会用到正确的用户名.密码登录,错误的用户名.正确的密码,正确的用户名.错误的密码等等来进行测试,这时就可以用到框架中的参数化,来便捷 ...
- python自动化测试学习笔记-unittest参数化
做接口测试的时候,当一个参数需要输入多个值的时候,就可以使用参数来实现: python中unittest单元测试,可以使用nose_parameterized来实现: 首先需要安装:pip inst ...
- 【转载】unittest参数化(paramunittest)
前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例.本篇继续介绍 ...
- unittest参数化(paramunittest)
前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例.本篇继续介绍另 ...
- VS 2012中消失了的Create UnitTest
前言:最近正在研究一个新项目的开发工作,这个项目的要求是必须写UnitTest,对于我个人来讲是很不喜欢写UnitTest的感觉这个东西会很大程度的延误开发进度,所以之前项目的UnitTest是能不写 ...
- Python单元测试框架unittest
学习接口自动化测试时接触了unittest单元测试框架,学习时参照了虫师编写的<selenium2自动化测试实战>,个人觉得里面讲的例子还比较容易理解的. 一.基础 1.main()和框架 ...
- selenium+python自动化97--unittest参数化(paramunittest)
前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例.本篇继续介绍 ...
- Jmeter(一) - 调用数据的参数化
1. 做性能测试, 不可避免的一点一定会有使用不同的用户密码进行登陆. 如何使登陆用户参数化呢?
随机推荐
- ImageLoader使用
最近琢磨的网上的这些开源框架,imageLoader确实很好用,基本用法不记录了,参考网上的一些代码写了个ImageLoaderManager /** * Created by Lee on 2016 ...
- 哈希—— POJ 3349 Snowflake Snow Snowflakes
相应POJ题目:点击打开链接 Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions ...
- SpringCloud系列十一:自定义Feign
1. 回顾 上文我们讲解了如何为服务消费者配置Feign. 在Spring Cloud中,Feign的默认配置类是FeignClientsConfiguration,该类定义了Feign默认使用的编码 ...
- Yum Error Another app is currently holding the yum lock; waiting for it to exit
Another app is currently holding the yum lock; waiting for it to exit... The other application is: P ...
- Linux命令常用命令
查看主机IP ifconfig 切换目录 cd cd /home cd /path cd ../path cd 退到home目录 cd .. 退到上层目录 cd / 退到根目录 ls -l 列出数据 ...
- Atitit. Derby的使用总结attilax
Atitit. Derby的使用总结attilax 1. Derby数据库的存储结构1 2. Derby gui工具1 3. 代码读写derby2 4. 与sqlite db4o的对比4 5. 参考5 ...
- Flex读取txt文件里的内容报错
Flex读取txt文件里的内容 1.详细错误例如以下 2.错误原因 读取文件不存在 var file:File = new File(File.applicationDirectory.nativeP ...
- Java Stream 官方文档翻译
先立个flag https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html
- java 提取数据
import java.util.regex.Matcher; import java.util.regex.Pattern; public class TextNested { public sta ...
- OpenCV中的SURF算法介绍
SURF:speed up robust feature,翻译为快速鲁棒特征.首先就其中涉及到的特征点和描述符做一些简单的介绍: 特征点和描述符 特征点分为两类:狭义特征点和广义特征点.狭义特征点的位 ...