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

管理员界面wordpress西安自动seo

管理员界面wordpress,西安自动seo,网站开发必须要做前端吗,石家庄网站建设多少钱引言 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.15wanjia.com/news/32904.html

相关文章:

  • 做网站学习成都网络优化公司有哪些
  • 男做直播网站好站内推广和站外推广的区别
  • 说做网站被收债营销咨询公司经营范围
  • 做购物网站平台百度seo排名公司
  • 网站在线布局引流推广方法
  • 哈尔滨网站建设公司oeminc深圳做网站的公司有哪些
  • 广东建设监理网站兰州网站优化
  • 网站服务器做下载链接怎么成为百度推广代理商
  • 网站网站制作400多少钱神马搜索seo优化排名
  • 网站如何做推广百度竞价托管靠谱吗
  • 自己怎么做网站赚钱西安seo排名外包
  • 和平网站制作流量精灵官网
  • 仿wordpressseo销售是做什么的
  • 网站构建的一般流程是什么免费顶级域名注册网站
  • 济南手工网站建设直播回放老卡怎么回事
  • 昆山网站建设公司怎么样域名停靠网页推广大全2023
  • dede旅游网站源码 多城市产品推广语
  • 江阴做网站高端网站建设
  • 梧州论坛 肇庆合肥seo网站管理
  • 720全景网站怎么做站长工具seo综合查询烟雨楼
  • 泉州网站建设推广免费建立个人网站凡科
  • 吉林智能网站建设价格网站权重怎么提高
  • 龙岗网站建设网站制作优秀的软文
  • 网站建设学什么整站排名
  • 模板的网站都有哪些内容如何开发网站
  • 如何做好一个外贸网站的编辑网页模板免费下载
  • 网站开发语言有phpseo搜索引擎优化服务
  • 企业网站商城建设方案徐州做网站的公司
  • 美国网站服务器关键词网站推广
  • 知道抖音视频是怎么做的网站嘛网站优化一年多少钱