openstack测试之unittest学习

unittest 学习

unittest 框架是python的测试框架。脱胎于java的测试框架
  • test case

    一个test case的实例,就是一个测试用例。包括了完整的测试流程。setUp() run() tearDown() 分别代表的含义是: 环境搭建,执行测试代码,测试后的环境还原

  • test Loader

    是用来加载TestCase到TestSuite ,就是从各地寻找test case 创建他们的实例

  • Text Test Runner

    Text test runner 是用来执行测试用例的,包括运行了多少测试用例,成功了多少,失败了多少的信息

  • test fixture

    fixture 可被认为是测试环境

所以unittest的整个流程首先写好,testCase,然后由loader加载case到suite里面,最后再来执行

  • 官网测试的demo

    import unittest
    
    class TestStringMethods(unittest.TestCase):
    
      def test_upper(self):
          self.assertEqual('foo'.upper(), 'FOO')
    
      def test_isupper(self):
          self.assertTrue('FOO'.isupper())
          self.assertFalse('Foo'.isupper())
    
      def test_split(self):
          s = 'hello world'
          self.assertEqual(s.split(), ['hello', 'world'])
          # check that s.split fails when the separator is not a string
          with self.assertRaises(TypeError):
              s.split(2)
    
    if __name__ == '__main__':
      unittest.main()
    

    执行main 函数,收集函数名含有'test*'的通配符,但是函数执行顺序默认根据acsll码来执行和加载测试用例。可以自己构造测试集,来进行测试的顺序

  • TestCase 最常用的断言方法

    断言方法 检查条件
    assertEqaual(a, b) a == b
    assertNotEqual(a, b) a != b
    assertTrue(x) bool(x) is True
    assertFalse(x) bool(x) is False
    assertIs(a, b) a is b
    assertNot(a, b) a is not b
    assertNone(x) x is None

    等方法,来进行对对象的断言测试,其他方法可以查看unittestg文档-testcase

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容