码迷,mamicode.com
首页 > 其他好文 > 详细

UI自动化:单元测试框架

时间:2018-09-17 11:38:44      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:运行   清理   单元测试   使用   参数   自动化   set   testcase   ...   

unittest 被称作Python版本的JUnit,或称PyUnit。

 

unittest的重要4个概念:

1.test fixture 测试固件

2.test case 测试用例

3.test suite 测试套件:就是一组测试用例

4.test runner 测试运行器

 

一、测试用例

  unittest框架通过TestCase类来构建测试用例,并要求所有自定义的测试类都必须继承该类,它是所有测试用例的基类,传入一个方法名,将返回一个测试用例实例。 

  TestCase 的子类中实现测试用例的代码既可以单独运行,也可以和其他测试用例构成测试用例集,然后批量执行

  TestCase子类从父类继承的几个特殊的方法,在测试用例执行时均会被定义执行:

   1.setUp() ,测试前的初始化工作

   2.tearDown(),测试后的清理工作

   3.setUpClass(),在setUp()函数之前,只支持一次,必须使用@classmethod装饰器进行修饰

   4.tearDownClass()

 

  注意:采用上述动态,需要被执行的测试方法都必须以“test”开头

 

二、按照特定顺序执行测试用例集合

  被测代码文件 Calc.py

  #coding = utf -8

  class Calc(Object):

    def  sub(self,x,y,*d)

    #减法计算

    result = x -y

    for i in d:

      result -=i

 

  测试代码文件test.py

  #coding = utf -8

  import unittest

  from Calc import Calc

  class MyTest(unittest.TestCase):

    @Classmethod

    def setupClass(cals):

      cals.c = Calc()

    def test_sub(self):

      self.assertEqual(MyTest.c.sub(1,2,3),-4,‘test sub fail‘)

  if __name__ == ‘_main_‘:

    unittest.main()  #启动

 

..................

  对最后启动进行修改,指定顺序:

  

  if __name__ == ‘_main_‘:

    suite = unittest.TestSuite()

    sutie.addTest(Mytest("test_sub")) #添加到测试容器中

    runner = unittest.TextTestRunner()

    runner.run(suite)

 

三、常见的unittest注释方法

  1.@unittest.skip("skipping") #无条件忽视该测试方法

  2.@unittest.skipIf(a>5,‘‘condition is not satisfied‘‘) #如果变量a>5,则忽略该测试方法

  3.@unittest.skipUnless()

 

四、unittest命令执行

  1.模块执行命令

    python -m unittest  -v Mytest  #MyTest为模块,-v参数表示输出测试用例执行的详细信息

  2.执行模块中的某个类

    python -m unittest -v  test_modue.TestClass

  3.批量执行测试模块(main中加载)

    if __name__ ==‘__main__‘

      #当前目录下所有有效的测试模块,“.”表示当前目录,可以用绝对路径

      testSuite = unittest.TestLoader().discover(‘.‘)

      unittest.TextRunner(verbosity=2).run(testSuite)

 

    命令方式为:D:\xxxx\python -m unittest discover  [注意脚本目录]

    

 

    

 

  

UI自动化:单元测试框架

标签:运行   清理   单元测试   使用   参数   自动化   set   testcase   ...   

原文地址:https://www.cnblogs.com/czdbky/p/9660632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!