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())


  • 相关阅读:
    数据结构-队列的链式存储(链队列)
    数据结构-栈的实现之运算式求值
    数据结构-栈的实现之迷宫解密
    Ninject之旅之七:Ninject依赖注入
    Ninject之旅之六:Ninject约定
    Ninject之旅之五:Ninject XML配置
    Ninject之旅之四:Ninject模块
    Ninject之旅之三:Ninject对象生命周期
    Ninject之旅之二:开始使用Ninject(附程序下载)
    Ninject之旅之一:理解DI
  • 原文地址:https://www.cnblogs.com/xinjing-jingxin/p/9146349.html
Copyright © 2011-2022 走看看