码迷,mamicode.com
首页 > 编程语言 > 详细

python-unittest

时间:2018-09-05 17:53:12      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:color   pytho   sse   art   equal   style   cas   run   cbo   

1. unittest.TestCase类中的常用的断言方法

方法用途
assertEqual(a, b) 核实 a == b
assertNotEqual(a, b) 核实 a != b
assertTrue(x) 核实 x 为True
assertFalse(x) 核实 x 为False
assertIn(itemlist) 核实itemlist
assertNotIn(itemlist) 核实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.000s

FAILED (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) ... ok test_cart (__main__.CartTest) ... ok ---------------------------------------------------------------------- Ran 2 tests in 0.000s OK

批量测试单个用例,可通过重写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.000s

OK

 

python-unittest

标签:color   pytho   sse   art   equal   style   cas   run   cbo   

原文地址:https://www.cnblogs.com/tangpg/p/9591940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!