旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

Python Unittest怎样举行自动化的单元测试【MySQL教程】,Unittest,Python,自动化

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:50评论:0


导读:此次给人人带来PythonUnittest怎样举行自动化的单元测试,PythonUnittest举行自动化单元测试的注意事项有哪些,下面就是实战案例,一同来看一下。本文...
此次给人人带来Python Unittest怎样举行自动化的单元测试,Python Unittest举行自动化单元测试的注意事项有哪些,下面就是实战案例,一同来看一下。

本文实例为人人分享了Python Unittest自动化单元测试框架的细致代码,供人人参考,细致内容以下

1、python 测试框架(本文只触及 PyUnit)

参考地点

2、环境预备

起首肯定已装置有Python,以后经由过程装置PyUnit,Python版本比较新的已集成有PyUnit(PyUnit 供应了一个图形测试界面UnittestGUI.py)
参考:检察地点

3、代码实例

运用的IDE为 PyCharm,DEMO构造如图

1.简朴地一个实例

# Test002_Fail.py
# -*- coding:utf-8 -*-
import unittest
class Test002_Fail(unittest.TestCase):
  #测试用例前实行
  def setUp(self):
    print 'Case Before'
    pass
  #测试用例后实行
  def tearDown(self):
    print 'Case After'
    pass
  #测试用例1
  def test_Case1(self):
    a = 3
    b = 2
    self.assertEqual(a+b,4,'Result Fail')
  #测试用例2
  def test_Case2(self):
    a = 2
    b = 3
    self.assertEqual(a*b,7,'Result Fail')
if name == 'main':
  unittest.main()

2.当case比较多的时刻,能够运用Suite来治理多个case,suite 能够看作是一个case 的容器,能够装许多的case

# SuiteDemo.py
# -*- coding:utf-8 -*-
#一个类,增加测试集
import unittest
class SuiteDemo(unittest.TestCase):
  #测试用例前实行
  def setUp(self):
    print 'Case Before'
    pass
  #测试用例后实行
  def tearDown(self):
    print 'Case After'
    pass
  def test_Case1(self):
    a = 3
    b = 2
    self.assertEqual(a+b,5,'Result Fail')
    print 'Case1'
  def test_Case2(self):
    a = 2
    b = 3
    self.assertEqual(a*b,6,'Result Fail')
    print 'Case2'
#定义一个测试鸠合,轻易增加Case
def suite():
  suiteTest = unittest.TestSuite()
  suiteTest.addTest(SuiteDemo("test_Case1"))
  suiteTest.addTest(SuiteDemo("test_Case2"))
  return suiteTest
#默许运转时经由过程 Suite 运转
if name == 'main':
  unittest.main(defaultTest='suite')

3.Suite 和 Case能够离开写在差别的Python文件中,如许轻易辨别case模块和Suite治理模块,在测试测试的时刻只须要在case模块内里增加case,以后增加到Suite模块即可了

case模块

# TestCaseDemo
# -*- coding:utf-8 -*-
import unittest
class TestCaseDemo(unittest.TestCase):
  def setUp(self):
    pass
  def tearDown(self):
    pass
  def test_Case1(self):
    print 'test_Case1'
  def test_Case2(self):
    print 'test_Case2'
  def test_Case3(self):
    print 'test_Case3'
  def test_Case4(self):
    print 'test_Case4'

接下来为三个Suite模块,都是先导入Case模块,以后增加Suite,再在Suite内里增加Case,末了实行的时刻须要运用TestRunner,这个TestRunner 相当于Suite 的实行器

简朴地TestSuite:

# TestCase_Demo1.py
# -*- coding:utf-8 -*-
#鸠合写入一个要领,main挪用并启动
import unittest
from TestCase_Demo import TestCaseDemo
#增加一个测试鸠合,并增加Case
def suite():
  suiteTest = unittest.TestSuite()
  suiteTest.addTest(TestCaseDemo('test_Case1'))
  return suiteTest
#指定并启动测试鸠合,运转鸠合要领
if name == 'main':
  runner = unittest.TextTestRunner()
  runner.run(suite())

也能够不定义Suite要领,直接在main要领中举行Case的增加,以后实行

# TestCase_Demo2.py
# -*- coding:utf-8 -*-
#鸠合能够写在main
import unittest
from TestCase_Demo import TestCaseDemo
#指定并启动测试鸠合
if name == 'main':
  #增加测试鸠合Case,并启动
  suiteTest = unittest.TestSuite()
  suiteTest.addTest(TestCaseDemo('test_Case1'))
  suiteTest.addTest(TestCaseDemo('test_Case2'))
  #直接启动鸠合
  runner = unittest.TextTestRunner()
  runner.run(suiteTest)

能够把差别的Case 增加道差别的Suite内里,一样,能够给Suite分组,用于辨别差别的Case,而且,Suite 之间还能够包括

# TestCase_Demo3.py
# -*- coding:utf-8 -*-
#包括鸠合,多鸠合
import unittest
from TestCase_Demo import TestCaseDemo
#增加差别的合集
def Suite1():
  suiteTest = unittest.TestSuite()
  suiteTest.addTest(TestCaseDemo("test_Case1"))
  suiteTest.addTest(TestCaseDemo("test_Case2"))
  print 'Suite1 运转'
  return suiteTest
def Suite2():
  suiteTest = unittest.TestSuite()
  suiteTest.addTest(TestCaseDemo("test_Case3"))
  suiteTest.addTest(TestCaseDemo("test_Case4"))
  print 'Suite2 运转'
  return suiteTest
#包括一切的Suite
def AllSuite():
  allTest = unittest.TestSuite((Suite1(),Suite2()))
  return allTest
#运转的时刻,能够依据差别的请求,运转差别的Suite,或许悉数运转,如许就轻易治理每次运转的case
if name == 'main':
  runner = unittest.TextTestRunner()
  runner.run(AllSuite())

4.小结

PyUnit 是Python的一个单元测试框架,运用它能够轻易的治理自动化运转的case.
在Python 中,每个要领 只需要领名运用test_ 开首的都被作为是一个用例,都能够看作成一个case,这里引见了运用Suite治理Case,而且分组运转Case,另有其他许多的功用,请参考: unittest — Unit testing framework

置信看了本文案例你已控制了要领,更多出色请关注ki4网别的相干文章!

引荐浏览:

python运用unittest测试接口步奏详解

Python怎样统计字母涌现的次数

以上就是Python Unittest怎样举行自动化的单元测试的细致内容,更多请关注ki4网别的相干文章!

标签:UnittestPython自动化


欢迎 发表评论: