断言(自动判断实际结果与预期结果)
参数化(将测试数据装入json)
跳过
生成测试报告
assertEqual与assertIn
assertEqual(预期结果,实际结果)------如果相等用例通过,不相等抛出异常用例不通过。
assertIn(预期结果,实际结果)-------预期结果是否包含在实际结果中,存在则用例通过、不存在抛出异常用例不通过。
import unittest
class TestAssert(unittest.TestCase):
def test_equal(self):
self.assertEqual(10,10)
def test_asser_2(self):
self.assertEqual(10,11)
def test_in(self):
self.assertIn('admin','欢迎 aaaaaaaaaaaaaaaaaaaaaaaadminnnnnnnnnnnnnnnnnnnn 登录')
import unittest
from assert01 import TestAssert
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestAssert))
unittest.TextTestRunner().run(suite)
运行结果
参数化
环境(安装)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple parameterized
import unittest
from tolols import add
from parameterized import parameterized
data = [(1,1,2),(1,2,3),(2,3,5),(4,5,9)]
class TestAdd(unittest.TestCase):
@parameterized.expand(data)
def test_1(self,a,b,expect):
print(f'a:{b},b:{b},expect:{expect}')
self.assertEqual(expect,add(a,b))
使用parameterized可以加载外部数据
import unittest
from tolols import add
from parameterized import parameterized
data = [(1,1,2),(1,2,3),(2,3,5),(4,5,9)]
class TestAdd(unittest.TestCase):
@parameterized.expand(data)
def test_1(self,a,b,expect):
print(f'a:{b},b:{b},expect:{expect}')
self.assertEqual(expect,add(a,b))