zoukankan      html  css  js  c++  java
  • Python3.5-20190530-unittest模块

    >>> dir(unittest)  #所有的属性和方法
    ['BaseTestSuite', 'FunctionTestCase', 'SkipTest', 'TestCase', 'TestLoader', 

    'TestProgram', 'TestResult', 'TestSuite', 'TextTestResult', 'TextTestRunner', '_TextTestResult',
    '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__',
    '__path__', '__spec__', '__unittest', 'case', 'defaultTestLoader', 'expectedFailure', 'findTestCases', 'getTestCaseNames',
    'installHandler', 'load_tests', 'loader', 'main', 'makeSuite', 'registerResult', 'removeHandler', 'removeResult', 'result',

    'runner', 'signals', 'skip', 'skipIf', 'skipUnless', 'suite', 'util']
    例如:
    import unittest

    class Test_baidu(unittest.TestCase): #所有的测试类都需要继承这个TestCase类,
    def setUp(self): #重写了TestCase类的方法 每个用例开始执行之前都会执行setUp
    print('开始执行用例了:-----------')

    def tearDown(self):#重写了TestCase类的方法 每个用例结束之后都会执行tearDown
    print('执行完毕:------------')

    def test_case1(self):
    print('test_case1111111111')
    self.assertEqual(1,1) #判断a,b相等吗
    self.assertIs(1,1)#判断a是b吗
    self.assertIn(1,[1,2])#判断a在b里吗
    l = [1,2]
    self.assertIsInstance(l,list)#判断a是b的实例化对象吗
    self.assertTrue(1)#判断a是true
    self.assertFalse(0)


    @unittest.skip('不执行222') #skip跳过执行,
    def test_case2(self):
    print('test_case222222')

    if __name__ =='__main__':
    unittest.main(verbosity=2) #这可像py文件一样直接运行



    把多个用例写在一个目录下面,直接用discover()方法找到多个test_case一次性执行:

    unittest.TextTextRunner():unittest框架的TextTextRunner()类,通过该类下面的run()方法来运行suite所组装的测试用例,入参为suite测试套件。

    unittest.defaultTestLoader(): defaultTestLoader()类,通过该类下面的discover()方法可自动更具测试目录start_dir匹配查找测试用例文件(test*.py),并将查找到的测试用例组装到测试套件,因此可以直接通过run()方法执行discover。

    import unittest,os
    c_path = os.getcwd()
    path = os.path.join(c_path,'unittest_html')
    print(path)

    discover = unittest.defaultTestLoader.discover(path,pattern='test_*.py') #批量的找到path路径下面的所有的test_*py的用例
    print(discover)

    runner = unittest.TextTestRunner()#通过该类下面的run()方法来运行suite所组装的测试用例
    runner.run(discover)
    
    
  • 相关阅读:
    【转】ThinkPHP 页面跳转
    thinkphp中select()和find()的区别
    (Python)异常处理try...except、raise
    python中try except处理程序异常的方法
    SNMP消息传输机制
    公钥私钥+数字证书原理
    转:使用python的Flask实现一个RESTful API服务器端
    转:xxe attack学习
    转:php防止sql注入的一点心得
    转:在 Ubuntu 上使用 Nginx 部署 Flask 应用
  • 原文地址:https://www.cnblogs.com/tarzen213/p/10952471.html
Copyright © 2011-2022 走看看