python---unittest模块

2017-06-12  本文已影响0人  小蜗牛的成长

unittest 原名为 PyUnit,是由 java 的 JUnit 衍生而来

unittest库提供了test cases, test suites, test fixtures,test runner。

整体结构

待测试的类:

class Count:
    def __init__(self,a,b):
        self.a = a
        self.b = b
    def add(self):
        return self.a+self.b

示例1:

import unittest
class TestDemo(unittest.TestCase):

    def setUp(self):
        print("setUp")

    def test_add(self):
        z = Count(2,3)
        self.assertEqual(z.add(),5)

    def test_invid_add(self):
        z = Count(2, 3)
        self.assertNotEqual(z.add(),6)

    def tearDown(self):
        print("tearDown")

if __name__=="__main__":
    suit=unittest.TestSuite()#在pycharm中,手动修改以一般python文件方式去运行
    suit.addTest(TestDemo("test_invid_add"))
    suit.addTest(TestDemo("test_add"))
    runner=unittest.TextTestRunner()
    runner.run(suit)
    # unittest.main() #默认按照字母和数字顺序执行,等同于unittest.makeSuite(test)

示例2:

import unittest
lass TestDemo(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("setUpClass")

    def test_add(self):
        print("test_add")
        z = Count(2,3)
        self.assertEqual(z.add(),5)

    def test_invid_add(self):
        print("test_invid_add")
        z = Count(2, 3)
        self.assertNotEqual(z.add(),6)

    @classmethod
    def tearDownClass(cls):
        print("tearDownClass")


if __name__=="__main__":
    suit=unittest.TestSuite()
    suit.addTest(TestDemo("test_time"))
    suit.addTest(TestDemo("test_add"))
    suit.addTest(TestDemo("test_invid_add"))
    runner=unittest.TextTestRunner()
    runner.run(suit)

从以上2个示例可知道:

上一篇 下一篇

猜你喜欢

热点阅读