python-unittest,,1. unittes
python-unittest,,1. unittes
1. unittest.TestCase类中的常用的断言方法
方法 | 用途 |
---|---|
assertEqual(a, b) | 核实 a == b |
assertNotEqual(a, b) | 核实 a != b |
assertTrue(x) | 核实 x 为True |
assertFalse(x) | 核实 x 为False |
assertIn(item,list) | 核实item在list中 |
assertNotIn(item,list) | 核实item不在list中 |
1.1 子测试:记录错误并测试完所有的代码
class DemoTest(unittest.TestCase): def test_subtest(self): for i in range(5): with self.subTest(name=i): # 子测试参数用于输出 self.assertEqual(i % 2, 0)>>>(djProj_py3) appledeMacBook-Air-7:tests apple$ python -m unittest test_a.DemoTest.test_subtest======================================================================FAIL: test_subtest (test_a.DemoTest) (name=1)----------------------------------------------------------------------Traceback (most recent call last): File "/Users/apple/PycharmProjects/work/practice/tests/test_a.py", line 19, in test_subtest self.assertEqual(i % 2, 0)AssertionError: 1 != 0======================================================================FAIL: test_subtest (test_a.DemoTest) (name=3)----------------------------------------------------------------------Traceback (most recent call last): File "/Users/apple/PycharmProjects/work/practice/tests/test_a.py", line 19, in test_subtest self.assertEqual(i % 2, 0)AssertionError: 1 != 0----------------------------------------------------------------------Ran 1 test in 0.000sFAILED (failures=2)
1.2测试套件:将多个用例或套件的实例组合起来,完成产品功能组级别的测试。
分别为每个参与测试方法创建实例,并加入套件。
class UserTest(unittest.TestCase): def test_user(self): self.assertTrue(True) # 判断是否为真class CartTest(unittest.TestCase): def test_cart(self): self.assertFalse(False)suite = unittest.TestSuite()suite.addTests((UserTest(‘test_user‘), # 创建实例并加入套件suite CartTest(‘test_cart‘),) )unittest.TextTestRunner(verbosity=2).run(suite)
# code end!! >>>(djProj_py3) appledeMacBook-Air-7:tests apple$ python test_a.py test_user (__main__.UserTest) ... oktest_cart (__main__.CartTest) ... ok----------------------------------------------------------------------Ran 2 tests in 0.000sOK
批量测试单个用例,可通过重写runTest
class TestDamo(unittest.TestCase): def add(self): self.assertTrue(1) def add1(self): self.assertFalse(‘‘) def runTest(self): tests = (self.add, self.add1) for test in tests: with self.subTest(t=test): test()>>>(djProj_py3) appledeMacBook-Air-7:tests apple$ python -m unittest -v test_a.py runTest (test_a.TestDamo) ... ok----------------------------------------------------------------------Ran 1 test in 0.000sOK
python-unittest
评论关闭