zoukankan      html  css  js  c++  java
  • unintest基础1

    import unittest
    
    class Testfunc(unittest.TestCase):
        def testfunc(self):
            print('testfunc1')
    
        def testfunc2(self):
            print('testfunc2')
    
    
    suit = unittest.TestSuite()
    suit.addTest(Testfunc('testfunc')) #单独增加测试用例
    suit.addTest(unittest.makeSuite(Testfunc)) #把Testfunc下的测试用例都加到suit里面
    unittest.TextTestRunner().run(suit)  #TextTestRunner创建一个运行器,运行测试用例
    
    if __name__ == '__main__':
        unittest.main() #运行class类中的所有测试用例

    1、unittest执行顺序,按函数的字母顺序执行

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

    2、方法开头都是以test开头,才会被执行

    3、unittest.main()与TextTestRunner().run()的区别

    main()执行的是class中的所有方法,TextTestRunner执行的是自己给suit加入的测试用例

     4、setUp、tearDown的执行顺序

    import unittest
    
    class Testfunc(unittest.TestCase):
        def testfunc(self):
            print('testfunc1')
    
        def testfunc2(self):
            print('testfunc2')
    
        def setUp(self):
            print("每个用例执行前,运行")
    
        def tearDown(self):
            print("每个用例执行结束后,运行")
    
        @classmethod
        def setUpClass(cls):
            print("所有用例执行前,运行")
    
        @classmethod
        def tearDownClass(cls):
            print("所有用例执行结束后,运行")
    
    if __name__ == '__main__':
        unittest.main() #运行class类中的所有测试用例

     


    discover 可以把多个文件中的测试用例集中起来,并返回给测试套件

    discover(start_dir,pattern='test*.py',top_level_dir=None)

    start_dir :要测试的模块名或测试用例目录。
    pattern='test*.py' :表示用例文件名的匹配原则。星号“*”表示任意多个字符。
    top_level_dir=None:测试模块的顶层目录。如果没顶层目录(也就是说测试用例不是放在多级目录
    中),默认为 None。


    import unittest
    
    def createsuit():
        testdir = "E:/lw/书籍/python/自动化/day1/"
    
        discover = unittest.defaultTestLoader.discover(testdir,pattern="test*.py",top_level_dir=None)
        print(discover)
    
        return discover
    
    if __name__ == '__main__':
        runner = unittest.TextTestRunner()
        runner.run(createsuit())


  • 相关阅读:
    TCP
    关系型数据库基础
    spark教程(16)-Streaming 之 DStream 详解
    spark教程(15)-Streaming
    灰度图Matlab
    mesh函数
    axis函数
    Matlab提供了两种除法运算:左除()和右除(/)
    基和时间平移矩阵
    转载:实现MATLAB2016a和M文件关联
  • 原文地址:https://www.cnblogs.com/xinjing-jingxin/p/9146349.html
Copyright © 2011-2022 走看看