首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python的自动化单元测试框架详解

我使用pycharm结构如图:

1.简单测试用例是这么写的:如图

Test001.py文件

#简单的测试用例

import unittest

class Test001(unittest.TestCase):

  #测试用例执行

def setUp(self):

      print('case before')

      pass

  #测试用例后执行

 def tearDown(self):

      print('case After')

      pass

  #测试用例1

def test_case1(self):

      a=1

      b=2

      self.assertEqual(a*b,7,'REsult Fail')

if __name__ == '__main__':

  unittest.main()

运行完毕

2.可以创建一个套件管理测试用例 方便运行

#一个类 添加测试类

import unittest

class SuiteDemo(unittest.TestCase):

  #测试用例前执行

 def setUp(self):

      print('begin')

      pass

  #测试用例后执行

 def tearDown(self):

      print('end')

      pass

  #测试用例:

 def test_Case1(self):

      a=3

      b=2

      self.assertEqual(a+b,5,'Result Fail')

      print('case1')

def test_Case2(self):

      a=3

      b=5

      self.assertEqual(a*b,6,'result fail')

      print('case2')

#定义一个集合

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套件分开管理 之后在添加既可

#设置多个测试用例 和 suite套件分开管理

#如有变动用例 之后在套件添加既可

import unittest

class TestcaseDemo(unittest.TestCase):

  def setUp(self):

      pass

  def tearDown(self):

      pass

  def test_case1(self):

      print("1")

  def test_case2(self):

      print("2")

  def test_case3(self):

      print("3")

  def test_case4(self):

      print('4')

4.导入文件夹的文件中的类 来提高效率

import unittest

from zidonghuaunit.Testcase import TestcaseDemo

#注意导入:来自文件夹的文件中的TestcaseDemo的类

#添加一个测试集合点 并添加一个测试用例

def suite():

  suiteTest = unittest.TestSuite()

  suiteTest.addTest(TestcaseDemo('test_case1'))

  return suiteTest

#指定启动测试集合 运行集合方法

if __name__ == '__main__':

  runner = unittest.TextTestRunner()

  runner.run(suite())

5.指定测试集合启动

import unittest

from zidonghuaunit.Testcase import TestcaseDemo

#指定启动测试集合

if __name__ == '__main__':

  #添加测试集合case启动

  suiteTest = unittest.TestSuite()

  suiteTest.addTest(TestcaseDemo('test_case2'))

  suiteTest.addTest(TestcaseDemo('test_case3'))

  #集合写在main

  #直接启动集合

runner = unittest.TextTestRunner()

  runner.run(suiteTest)

5.套件可以随不同要求去管理运行

import unittest

from zidonghuaunit.Testcase 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

#运行可以随不同要求 运行 方便管理

if __name__ == '__main__':

  runner = unittest.TextTestRunner()

  runner.run(AllSuite())

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210217A000NH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券