自动化学习01-单元测试unittest模块

例子:
import unittest
import random

class MyTest(unittest.TestCase):
def setUp(self):
self.num = range(10)

def testramdow(self):
    self.assertTrue(random.choice(self.num)in self.num)

def test1(self):
    num1 = random.choice(self.num)
    nun2 = random.choice(self.num)
    self.assertEqual(num1,nun2)
def test2(self):
    num1 =random.choice(self.num)
    self.assertTrue(num1<10)

if name == ‘main’:
suite = unittest.TestSuite()
suite.addTest(MyTest(“test1”))
suite.addTest(MyTest(“test2”))
suite.addTest(MyTest(“testramdow”))
unittest.TextTestRunner(verbosity=3).run(suite)

  1. 首先是导入unittest 模块 没有自行去pip install unittest
  2. MyTest类继承自unittest.TestCase
  3. setup用来初始化数据,只会运行一次
  4. 每一个以test开头的方法,都会为其构建TestCase对象,使用unittest.main方法执行函数;所以再写测试用例的时候一定是以test开头
  5. TestSuite’:组织测试用例的实例,支持测试用例的添加和删除,最终将传递给testRunner进行测试执行
  6. self.assertTrue(表达式, failedinfo) # 断言value为真
  7. self.assertFalse(表达式, failedinfo) # 断言value为假
  8. self.assertEqual(value1, value2, failedinfo) # 断言value1 == value2
  9. unittest.TextTestRunner(verbosity=2).run(suite)运行用例,TextTestRunner类将用例执行的结果以text形式输出,verbosity默认值为1,不限制完整结果,即单个用例成功输出’.’,失败输出’F’,错误输出’E’;verbosity=2将输出完整的信息,verbosity=2是指测试结果的输出的详细程度,有0-6级,具体代码实现可看Python27\Lib\unittest\runner.py源代码

1.unittest.suite(),创建一个测试套件,suite.addTest()添加单个用例到测试套件中,需要把每一个要执行的用例都添加一遍,unittest.TextTestRunner().run()执行测试测试套件的所有用例;

我们也可以用addTests()方法添加多个测试用例,用makesuite(),搜索所有测试用例添加到测试套件,如下:只是main()方法下面的方法修改下即可
#定义一个测试套件
suite=unittest.TestSuite()
#添加测试用例
#添加单个测试用例
suite.addTests(unittest.makeSuite(MyTest))
unittest.TextTestRunner(verbosity=2).run(suite)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python自动化测试模块是一组用于编写和执行自动化测试的工具和库。它们提供了丰富的功能和方法,使得测试过程更加简单和高效。以下是一些常用的Python自动化测试模块: 1. unittest模块unittestPython内置的单元测试框架,它提供了一种标准的方式来编写和运行测试用例。它支持测试套件、断言、测试装置等功能,可以方便地进行单元测试。 2. pytest模块:pytest是一个功能强大且易于使用的Python测试框架。它支持自动发现测试用例、参数化测试、夹具(fixture)、插件等特性,可以灵活地组织和运行测试。 3. Selenium模块:Selenium是一个用于Web应用程序测试的工具。它提供了一组API,可以模拟用户在浏览器中的操作,如点击、输入、提交表单等。通过Selenium,可以编写自动化测试脚本来验证Web应用程序的功能和交互。 4. requests模块:requests是一个简洁而优雅的HTTP库,用于发送HTTP请求和处理响应。在自动化测试中,可以使用requests模块发送HTTP请求,模拟用户与后端API进行交互,并对返回的数据进行断言和验证。 5. mock模块:mock是一个用于模拟和替代Python对象的库。在自动化测试中,有时需要模拟一些外部依赖或者隔离一些不可控因素,这时可以使用mock模块来创建虚拟对象,以便进行测试。 6. coverage模块:coverage是一个用于代码覆盖率分析的工具。它可以统计代码中哪些部分被执行过,哪些部分没有被执行到,从而帮助开发者评估测试的完整性和质量。 以上是一些常用的Python自动化测试模块,它们可以帮助开发者编写可靠的自动化测试脚本,并提高软件质量和开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值