paramunittest参数化测试基础
2024-10-18 19:47:49
samples:
import paramunittest
import unittest
@paramunittest.parametrized(
(10,20),
(30,40),
# (100,20)
)
class ApiTestDemo(paramunittest.ParametrizedTestCase): #unittest.TestCase
def setParameters(self, numa,numb):
self.a = numa
self.b = numb
def test_add_case(self):
print( '%d+%d?=%d'%(self.a,self.b,30) )
self.assertEqual( self.a + self.b,30 )
if __name__=='__main__':
unittest.main(verbosity=2)
前面定义的是字典,那参数就跟前面字典的key保持一致.
demo_09.py
import paramunittest
import unittest
@paramunittest.parametrized(
{'numa':10,'numb':30},
{'numa':40,'numb':50}
)
class ApiTestDemo(paramunittest.ParametrizedTestCase):
def setParameters(self, numa, numb):
self.a = numa
self.b = numb
def test_add(self):
print('%d+%d?=%d' % (self.a, self.b, 40))
self.assertEqual(self.a + self.b, 40)
if __name__=='__main__':
unittest.main(verbosity=2)
把数据移出去:
参考:
demo_10.py
import paramunittest
import unittest
test_data = [{'numa':10,'numb':30},{'numa':40,'numb':50}]
def get_data():
return test_data
@paramunittest.parametrized(
*get_data()
)
class ApiTestDemo(paramunittest.ParametrizedTestCase):
def setParameters(self, numa, numb):
self.a = numa
self.b = numb
def test_add(self):
print('%d+%d?=%d' % (self.a, self.b, 40))
self.assertEqual(self.a + self.b, 40)
if __name__=='__main__':
unittest.main(verbosity=2)
最新文章
- 通过IEnumerable和IDisposable实现可暂停和取消的任务队列
- 【转载】十步完全理解SQL
- ubuntu 安装Django MySQL
- ERROR 2013 (HY000): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 2
- [译] 什么是移动友好的 - Mobile-friendliness
- Tomcat7.0设置虚拟文件夹
- 读改善c#代码157个建议:建议10~12
- windows7安装oracle 10g
- UVA 1193 区间相关(greedy)
- BootStrap入门教程 (四)
- Tarjan + bfs HYSBZ 1179Atm
- 异想-天开 python---while、for、if-else 循环学习
- la 4490
- C# Json序列化去掉k__BackingField问题的解决方案
- HDU 1247 - Hat’s Words - [字典树水题]
- bzoj1566: [NOI2009]管道取珠 DP
- 启动apache 找不到 mbstring.dll
- BZOJ 1444 [Jsoi2009]有趣的游戏 (AC自动机 + 概率DP + Gauss)
- OS 获取用户相册。保存图片。编辑图片为圆形
- SpringMVC学习笔记一:基本概念,执行流程与开发步骤