zoukankan      html  css  js  c++  java
  • unittest用例执行的顺序

    """
    用例的执行顺序涉及多个层级:在多个测试目录的情况下,先执行哪个目录?在多个测试文件的情况下,
    先执行哪个文件?在多个测试类的情况下,先执行哪个测试类?在多个测试方法(用例)的情况下,
    先执行哪个测试方法?
    """

    import unittest
    class TestBdd(unittest.TestCase):
    def setUp(self):
    print("test TestBdd:")

    def test_ccc(self):
    print("test ccc")

    def test_aaa(self):
    print("test aaa")

    def tearDown(self):
    pass

    class TestAdd(unittest.TestCase):
    def setUp(self):
    print("test TestAdd:")

    def test_bbb(self):
    print("test bbb")

    def tearDown(self):
    pass

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

    """
    unitest框架默认根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A~Z,a-z。所以,
    TestAdd类会优先于TestBdd类被执行,test_aaa()方法会优先于test_ccc()被执行,
    因而它并没有按照用例从上到下的顺序执行。
    对于测试目录与测试文件来说,unitest框架同样是按照这个规则来加载测试用例的。
    那么可不可以让test_ccc()先执行?答案是肯定的,只是不能使用默认的main()方法了,
    而是需要通过TestSuite类的addTest()方法按照一定的顺序来加载。
    """

    if __name__ == "__main__":
    # 构造测试集
    suite = unittest.TestSuite()
    suite.addTest(TestBdd("test_ccc"))
    suite.addTest(TestAdd("test_bbb"))
    suite.addTest(TestBdd("test_aaa"))
    # 执行测试
    runner = unittest.TextTestRunner()
    runner.run(suite)
  • 相关阅读:
    前端开发拥有属于自己的云服务器能做什么?
    C语言编译、链接和运行详解
    C程序运行机制概述
    Java之顺序查找
    C语言注释
    C转义字符
    Java之二维数组基本使用
    Java之类与对象基本使用
    分享些发表技术类文章的平台
    解决蓝奏云链接无法访问问题
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12210605.html
Copyright © 2011-2022 走看看