当前位置: 首页 > news >正文

管理员界面wordpress百度排名优化工具

管理员界面wordpress,百度排名优化工具,asp网站只能打开首页,恢复118网址之家引言 python小程序之参数化以及Assert(断言) 文章目录 引言一、参数化2.1 题目2.2 代码2.3 代码解释 二、Assert(断言)2.1 概念2.1.1 Assert语句的基本语法:2.1.2 基本断言2.1.3 断言函数参数2.1.4 断言前后状态一致 2…

引言

python小程序之参数化以及Assert(断言)

文章目录

  • 引言
  • 一、参数化
    • 2.1 题目
    • 2.2 代码
    • 2.3 代码解释
  • 二、Assert(断言)
    • 2.1 概念
      • 2.1.1 Assert语句的基本语法:
      • 2.1.2 基本断言
      • 2.1.3 断言函数参数
      • 2.1.4 断言前后状态一致
    • 2.2 题目
    • 2.3 代码
      • 2.3.1 tool模块代码
      • 2.3.2 断言代码
    • 2.4 代码解释
  • 三、思考
    • 3.1 参数化
    • 3.2 Assert(断言)

一、参数化

2.1 题目

如何参数化

2.2 代码

import unittest
from parameterized import parameterized
from tools import logindata = [('admin', '123456', '登录成功'),('root', '123456', '登录失败'),('admin', '123123', '登录失败')
]class TestLogin2(unittest.TestCase):def test_login(self, username, passwprd, expect):self.assertEqual(expect,login(username, passwprd))

输出结果:
在这里插入图片描述

2.3 代码解释

这段python代码使用unittest框架和parameterized扩展来编写参数化的单元测试用例,用于测试login函数

import unittest

这行代码导入了Python标准库中的unittest模块,它是一个用于编写和运行测试的框架

from parameterized import parameterized

这行代码从parameterized模块中导入了parameterized装饰器,它允许我们为测试用例提供多个参数集,从而可以重复运行同一个测试方法,每次使用不同的参数

from tools import login

这行代码从名为tools的模块中导入了一个名为login的函数,这个函数是测试的目标

data = [('admin', '123456', '登录成功'),('root', '123456', '登录失败'),('admin', '123123', '登录失败')
]

这里定义了一个名为data的列表,其中包含了多个元组。每个元组代表一组测试数据,包含用户名、密码和期望的登录结果

class TestLogin2(unittest.TestCase):

这行代码定义了一个名为TestLogin2的类,用于包含登录功能的测试用例,它继承自unittest.TestCase

def test_login(self, username, password, expect):self.assertEqual(expect, login(username, password))

这是一个测试方法,名为test_login,它使用parameterized装饰器来接受不同的参数集。该方法测试login函数,传入用户名和密码,并使用assertEqual断言来检查login函数的返回值是否与期望的结果expect相等
为了使test_login方法能够接受参数,需要使用parameterized.expand来装饰该方法,并提供参数列表

二、Assert(断言)

2.1 概念

在python中,断言(Assertion)是通过内置的assert语句实现的。assert语句用于检查一个条件是否为真,如果条件不为真,则会引发一个AssertionError异常。这通常用于开发和测试阶段,以验证代码中的假设和不变量

2.1.1 Assert语句的基本语法:

assert condition, [error_message]
  • condition:一个表达式,如果该表达式为False,则会引发异常。
  • error_message(可选):当conditionFalse时,assert语句引发的AssertionError异常的详细信息

2.1.2 基本断言

x = 1
assert x > 0, "x should be positive"

如果x大于0,上面的代码什么也不会发生。但如果x不大于0,将会引发一个AssertionError,并且错误消息将是"x should be positive"

2.1.3 断言函数参数

def check_positive(number):assert number > 0, f"The number {number} is not positive"return number
check_positive(-5)

当调用check_positive(-5)时,会引发一个AssertionError,因为-5不是正数。

2.1.4 断言前后状态一致

def update_data(data, key, value):old_value = data.get(key)assert old_value is not None, f"Key {key} not found in data"data[key] = valueassert data[key] == value, "Value was not updated correctly"return data
data = {'a': 1}
update_data(data, 'a', 2)

assert用于检查在更新字典之前键是否存在,以及更新后值是否正确

2.2 题目

如何使用断言

2.3 代码

2.3.1 tool模块代码

def addc(a, b):return a+b

2.3.2 断言代码

import unittest
from tools import addcclass TestAdd(unittest.TestCase):def test_3_5(self):self.assertEqual(8, addc(3, 5))def test_15_89(self):self.assertEqual('sad a', addc(15, 89))

在这里插入图片描述

2.4 代码解释

这段代码是一个使用python的unittest框架编写的测试案例,它用于测试一个名为addc的函数。这个函数应该是在另一个模块tools中定义的

  1. import unittest: 导入了Python的标准单元测试框架unittest,这个框架提供了创建和运行测试的工具

  2. from tools import addc: 假设tools模块包含了一个名为addc的函数,这里将其导入以便在测试类中使用

  3. class TestAdd(unittest.TestCase): 定义了一个名为TestAdd的测试类,它继承自unittest.TestCase。这意味着它可以包含多个测试方法,每个方法都是对addc函数的一次独立测试

  4. def test_3_5(self): 这是一个测试方法,名字表明它正在测试addc(3, 5)的情况。在这个方法内部,使用self.assertEqual()来验证addc(3, 5)的结果应该是8

  5. def test_15_89(self): 另一个测试方法,这次测试的是addc(15, 89)的情况。期望的结果是一个字符串'sad a'

第一个测试方法发期望addc(3, 5)返回8,这是合理的;这是另一个测试方法,名为test_15_89,它测试addc函数在传入参数15和89时的行为。self.assertEqual(‘sad a’, addc(15, 89))这行代码断言addc(15, 89)的返回值是否等于字符串’sad a’。如果返回值不是’sad a’,测试将失败

三、思考

3.1 参数化

  • parameterized模块不是Python标准库的一部分,需要单独安装。可以使用pip install parameterized来安装
  • 在实际测试中,login函数应该返回一个值,该值与expect进行比较,以验证登录功能是否按预期工作
  • 如果login函数的返回值与expect不匹配,测试将不会通过,并且unittest会提供错误信息

3.2 Assert(断言)

  • 断言可能会在生产环境中被禁用,因为它们可能会影响性能。python可以通过设置-O(优化)标志来禁用断言
  • 断言不应该用于处理正常的运行时错误,它们主要用于开发和测试阶段
  • 断言失败时,应该提供足够的信息来帮助调试问题,这就是为什么通常会包含一个错误消息
http://www.ds6.com.cn/news/6287.html

相关文章:

  • 哪个网站可以做ppt赚钱东莞网站优化公司
  • 个人如何申请域名seo建站技巧
  • 鉴定手表网站浙江网站建设平台
  • 重庆企业网站制作外包国际机票搜索量大涨
  • 什么网站好建设百度销售系统
  • 上海网站建设 建站猫定制网站建设电话
  • 浙江省建设厅网站查询直链平台
  • 做网站靠谱的软件公司网络seo公司
  • 阿里巴巴免费做网站吗广东河源最新疫情
  • 网上书店网页设计实训报告seo01
  • 南雄做网站网络营销带来的效果
  • 出版社网站必须做企业可信认证嘛站长数据
  • 做网站开发用什么软件网络推广最好的网站有哪些
  • 网站创建二级域名seo标签优化方法
  • 网站建设管理条例百度seo新规则
  • 网站开发验证码图片不显示seo排名赚app靠谱吗
  • 做的网站怎么让百度收录免费发布广告信息的网站
  • 做网站需要执照吗全国疫情高峰感染进度
  • 返利网站开发购买网站域名
  • 做网站建设月收入多少网站seo提升
  • 阳泉住房和城乡建设厅网站草根seo视频大全
  • 网站制作2007秦皇岛seo优化
  • wordpress 学习插件武汉seo网站排名优化公司
  • .net做网站用什么技术搜索引擎营销
  • Wordpress 手机网站微信广告推广如何收费
  • 如何租用网站服务器windows优化软件排行
  • 国际b2b平台品牌搜索引擎服务优化
  • 网站必须做可信认证网站快速推广
  • 做网站服务器什么配置市场营销考试题目及答案2022
  • 宁波企业建站程序教育培训网站模板