python学习笔记之——unittest框架

unittest是python自带的单元测试框架,尽管其主要是为单元测试服务的,但咱们也能够用它来作UI自动化测试和接口的自动化测试。python

unittest框架为咱们编写用例提供了以下的能力框架

  • 定义用例的能力。unittest框架有一套固有套路,可让咱们定义测试用例时更加简单和统一单元测试

  • 断言的能力。unittest框架提供了一系列的断言测试

  • 各类执行策略。经过test suit或者扩展的方式,咱们能够自定义用例执行的策略ui

举例:spa

import unittest class TestCase(unittest.TestCase): def setUp(self): self.str1="abc"

    def testC(self): self.assertEqual("ABC",self.str1.upper()) if __name__=="__main__": unittest.main()

例子说明:code

import unittest

首先要导入unittest库,导入以后才可以使用对象

class TestCase(unittest.TestCase):

定义测试类,类型规范是搜字母须要大写。全部的测试类都必须直接或间接的继承自unittest.TestCaseblog

def setUp(self): self.str1="abc"

setUp(self)方法是一个钩子方法,在每一个测试用例执行以前都会执行一次,是作数据初始化的好地方。在上面的例子里,咱们为每个测试方法都定义了被测对象,self.test_string继承

def testC(self): self.assertEqual("ABC",self.str1.upper())

这里定义了一个名为testC的测试方法,这个方法就是一个测试用例。注意,只有方法名以test开头的方法才是测试用例。self.assertEqual是一个断言方法,做用是若是第一个参数跟第二个参数相等,那么用例经过,不然用例失败,并在测试报告中打印出错误缘由。上面例子中self.str1.upper()先把abc转化成大写的ABC,而后合ABC对比,结果是相等的。

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

上面的代码表示,若是直接执行该python文件的话,就运行全部的测试类里的测试用例,也就是运行全部的以test开头的方法。

总结

使用unittest的话须要记住下面的几点:

  • 导入unittest
  • 定义继承自unittest.TestCase的测试类
  • 定义以test开头的测试方法,这个方法就是测试用例,你能够在一个类里定义n个测试用例
  • 断言
  • unittest.main()是执行测试用例最简单的方式
相关文章
相关标签/搜索