• 拆分测试用例


    calculator.py

    class Count:
    def __init__(self,a,b):
    self.a = int(a)
    self.b = int(b)

    #计算加法
    def add(self):
    return self.a + self.b

    #计算减法
    def sub(self):
    return self.a - self.b

    runtest.py

    import unittest
    # 加载测试文件
    import testadd
    import testsub

    # 构造测试集
    suite = unittest.TestSuite()
    suite.addTest(testadd.TestAdd("test_add"))
    suite.addTest(testadd.TestAdd("test_add2"))
    suite.addTest(testsub.TestSub("test_sub"))
    suite.addTest(testsub.TestSub("test_sub2"))
    if __name__ == '__main__':
    # 执行测试
    runner = unittest.TextTestRunner()
    runner.run(suite)

    """
    这样的拆分带来了好处,可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,
    测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,整体结构更加清晰。
    这样的设计看上去很完美,但依然没有解决添加用例的问题,当用例达到成百上千条时,
    在runtest.py文件中通过addTest()添加/删除测试用例就变得非常麻烦,
    那么有没有方法让unitest单元测试框架自动识别测试用例呢?答案是肯定的,
    TestLoader类中提供的discover()方法可以解决这个问题。
    """

    testadd.py

    from calculator import Count
    import unittest
    class TestAdd(unittest.TestCase):
    def setUp(self):
    print("test case start")

    def tearDown(self):
    print("test case end")

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

    def test_add2(self):
    j = Count(41, 76)
    self.assertEqual(j.add(), 117)

    if __name__ == '__main__':
    unittest.main()

    testsub.py

    from calculator import Count
    import unittest
    class TestSub(unittest.TestCase):
    def setUp(self):
    print("test case start")

    def tearDown(self):
    print("test case end")

    def test_sub(self):
    j = Count(2, 3)
    self.assertEqual(j.sub(),-1)

    def test_sub2(self):
    j = Count(71, 46)
    self.assertEqual(j.sub(),25)

    if __name__ == '__main__':
    unittest.main()

     

  • 相关阅读:
    input框和文字对齐问题
    滚动条位置判断
    【HDOJ】2007平方和与立方和
    POJ3177 Redundant Paths
    POJ3694 Network(tarjan求桥)
    UVA315 Network
    POJ1236 Network of schools
    ZOJ1008 Gnome Tetravex
    ZOJ007 Numerical Summation of a Series(纯数学)
    ZOJ1006 Do the Untwist
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12210647.html
Copyright © 2020-2023  润新知