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

网站内页seocc攻击wordpress网页

网站内页seo,cc攻击wordpress网页,中文域名解析网站,wordpress iis伪静态Python为开发者提供了内置的单元测试框架 unittest#xff0c;它是一种强大的工具#xff0c;能够有效地编写和执行单元测试。unittest 提供了完整的测试结构#xff0c;支持自动化测试的执行#xff0c;能够对测试用例进行组织#xff0c;并且提供了丰富的断言方法。最终…Python为开发者提供了内置的单元测试框架 unittest它是一种强大的工具能够有效地编写和执行单元测试。unittest 提供了完整的测试结构支持自动化测试的执行能够对测试用例进行组织并且提供了丰富的断言方法。最终unittest 会生成详细的测试报告这个框架非常简单且易于使用。 unittest核心概念 在 unittest 中有四个核心概念 TestCase测试用例每个测试用例实例用于封装一个或多个测试函数。TestSuite测试套件这是多个测试用例的集合用于组织和执行多个测试用例。TestLoader测试加载器这是一个用于将测试用例加载到测试套件中的工具。TextTestRunner测试运行器这是用于执行测试用例的运行器负责运行测试并生成结果报告。Fixture环境管理机制这是测试用例的环境搭建和销毁部分包括前置条件和后置条件。 unittest的工作流程 编写继承自 unittest.TestCase 的测试用例类其中每个测试函数都是一个独立的测试用例。使用 TestLoader 加载测试用例并将它们组织成 TestSuite 对象。使用 TestRunner 运行 TestSuite 中的测试用例并输出测试结果。 使用unittest初级指南 导入 unittest 模块以及被测试的文件或类。创建一个测试类并继承 unittest.TestCase所有自定义的单元测试类都要继承它作为基类。重写 setUp 和 tearDown 方法用于初始化和清理测试环境如果有必要。定义测试函数函数名以 test_ 开头这样才能被识别并执行。在测试函数中使用断言来判断测试结果是否符合预期。调用 unittest.main() 方法运行测试用例按照函数名的排序执行测试。 以下是一个简单的例子 import unittestdef login(username, password):if username kira and password 123:res {code: 200, msg: 登录成功}return resreturn {code: 400, msg: 登录失败}class TestLogin(unittest.TestCase):def test_login_success(self):测试登录成功test_data {username: kira, password: test}expect_data {code: 200, msg: 登录成功}res login(**test_data)self.assertEqual(res, expect_data)def test_login_error_with_error_password(self):账号正确密码错误登录失败test_data {username: kira, password: 12345}expect_data {code: 400, msg: 登录失败}res login(**test_data)self.assertEqual(res, expect_data)# 更多测试函数类似...if __name__ __main__:unittest.main()以上是一个简单的测试用例包含了两个测试函数。运行脚本将输出测试结果。 unittest核心概念 测试脚手架 测试脚手架 是测试用例的前置条件和后置条件确保测试环境的初始化和清理从而保证测试的准确性和可靠性。 import unittestclass MyTestCase(unittest.TestCase):classmethoddef setUpClass(cls):# 类级别的前置条件设置整个类运行最先只执行一次print(setUpClass)classmethoddef tearDownClass(cls):# 类级别的后置条件清理整个类运行最后结束执行一次print(tearDownClass)def setUp(self):# 测试方法级别的前置条件设置所有测试方法运行前都执行一次print(setUp)def tearDown(self):# 测试方法级别的后置条件清理所有测试方法运行结束都执行一次print(tearDown)def test_example(self):# 测试用例print(test_example)if __name__ __main__:unittest.main()setUp()每个测试方法运行前执行用于测试前置的初始化工作。tearDown()每个测试方法结束后执行用于测试后的清理工作。setUpClass()所有的测试方法运行前执行用于单元测试类运行前的准备工作。使用 classmethod 装饰器装饰整个测试类运行过程中只会执行一次。tearDownClass()所有的测试方法结束后执行用于单元测试类运行后的清理工作。使用 classmethod 装饰器装饰整个测试类运行过程中只会执行一次。 测试用例 测试用例 是最小的测试单元用于检测特定的输入集合的特定的返回值。unittest 提供了 TestCase 基类所有的测试类都需要继承该基类而在该类下的函数如果以 test_ 开头则被标识为测试函数 class MyTestCase(unittest.TestCase):def test_addition(self):result 2 3self.assertEqual(result, 5) # 使用断言方法验证结果是否相等def test_subtraction(self):result 5 - 3self.assertTrue(result 2) # 使用断言方法验证结果是否为True# 更多测试用例函数...断言方法 以下是常用的断言方法 assertEqual(a, b, msgNone)验证 a 等于 b。assertNotEqual(a, b)验证 a 不等于 b。assertTrue(x)验证 x 是否为 True。assertFalse(x)验证 x 是否为 False。assertIs(a, b)验证 a 是否是 b。assertIsNot(a, b)验证 a 是否不是 b。assertIsNone(x)验证 x 是否为 None。assertIsNotNone(x)验证 x 是否不为 None。assertIn(a, b)验证 a 是否在 b 中。assertNotIn(a, b)验证 a 是否不在 b 中。assertIsInstance(a, b)验证 a 是否是 b 类型的实例。assertNotIsInstance(a, b)验证 a 是否不是 b 类型的实例。 可以使用这些方法进行断言也可以直接使用原生的assert来断言如果断言失败测试用例会被定义为执行失败。 忽略特定测试方法 unittest 提供了一些方法来跳过特定的测试用例 unittest.skip(reason)强制跳过reason 是跳过的原因。unittest.skipIf(condition, reason)当 condition 为 True 时跳过。unittest.skipUnless(condition, reason)当 condition 为 False 时跳过。unittest.expectedFailure如果测试失败这个测试用例不会计入失败的统计。使用实例方法self.skipTest() 使用和上述类似。 import sys import unittestclass Test1(unittest.TestCase):unittest.expectedFailure # 即使失败也会被计为成功的用例def test_1(self):assert 1 1 3unittest.skip(无条件跳过) # 不管什么情况都会进行跳过def test_2(self):print(22..., 4)unittest.skipIf(sys.platform win32, 跳过) # 如果系统平台为 Windows 则跳过def test_3(self):print(33..., 6)unittest.skipUnless(sys.platform win32, 跳过) # 除非系统平台为 Windows否则跳过def test_4(self):print(44..., 8)def test_5(self):self.skipTest(跳过)print(55..., 10)if __name__ __main__:unittest.main(verbosity2)测试套件 测试套件用于收集和组织多个测试用例便于集中执行。 通过 unittest.main() 方法直接加载单元测试的测试模块这是一种简单的加载方式。所有测试用例的执行顺序按照方法名的字符串表示的 ASCII 码升序排序通过命名时使用 test_01_xxx 来指定执行顺序。将所有的单元测试用例 TestCase 加载到测试套件 Test Suite 集合中然后一次性加载所有测试对象。 通过 TestSuite 对象收集 此方式适用于需要自定义组合特定测试用例的情况。 import unittestclass MyTestCase(unittest.TestCase):def test_addition(self):result 2 3self.assertEqual(result, 5)def suite():suite unittest.TestSuite()suite.addTest(MyTestCase(test_addition))return suiteif __name__ __main__:runner unittest.TextTestRunner()runner.run(suite())通过 TestLoader 对象收集 TestLoader 是 unittest 框架提供的加载测试用例的类。 import unittestif __name__ __main__:loader unittest.defaultTestLoader# 自动加载当前模块中所有以 test_ 开头的测试用例函数suite loader.loadTestsFromModule(__name__)runner unittest.TextTestRunner()runner.run(suite)import unittestclass MyTestCase(unittest.TestCase):def test_addition(self):result 2 3self.assertEqual(result, 5)if __name__ __main__:loader unittest.defaultTestLoader# 自动加载 MyTestCase 类中的所有测试用例suite loader.loadTestsFromTestCase(MyTestCase)runner unittest.TextTestRunner()runner.run(suite)import unittestif __name__ __main__:loader unittest.defaultTestLoader# 自动加载指定名称的测试用例suite loader.loadTestsFromName(module.MyTestCase.test_addition)runner unittest.TextTestRunner()runner.run(suite)import unittestif __name__ __main__:loader unittest.defaultTestLoader# 自动发现并加载指定目录中的测试用例模块suite loader.discover(start_dirtest_directory, patterntest_*.py, top_level_dirNone)runner unittest.TextTestRunner()runner.run(suite)测试运行器 测试运行器是用于执行和输出测试结果的组件。常用的运行器有 unittest.TextTestRunner这是 unittest 框架中默认的测试运行器会在命令行输出测试结果。通过调用 run() 方法运行测试套件并将测试结果打印到控制台。 import unittestif __name__ __main__:loader unittest.defaultTestLoadersuite loader.discover(start_dirtests, patterntest_*.py)runner unittest.TextTestRunner()result runner.run(suite)HTMLTestRunner这是一个第三方库能够生成漂亮的 HTML 测试报告需要进行安装。你可以通过搜索获取相关文件进行安装。 import unittest from HTMLTestRunner import HTMLTestRunnerif __name__ __main__:loader unittest.defaultTestLoadersuite loader.discover(start_dirtests, patterntest_*.py)with open(test_report.html, wb) as report_file:runner HTMLTestRunner(streamreport_file, titleTest Report, descriptionTest Results)result runner.run(suite)XMLTestRunner这是另一个第三方库用于生成 XML 格式的测试报告。 import unittest from xmlrunner import XMLTestRunnerif __name__ __main__:loader unittest.defaultTestLoadersuite loader.discover(start_dirtests, patterntest_*.py)with open(test_report.xml, wb) as report_file:runner XMLTestRunner(outputreport_file)result runner.run(suite)你也可以自定义测试运行器。继承 unittest.TestRunner 类并实现 run() 方法以创建自己的测试运行器。 import unittestclass MyTestRunner(unittest.TextTestRunner):def run(self, test):print(Running tests with MyTestRunner)result super().run(test)return resultif __name__ __main__:loader unittest.defaultTestLoadersuite loader.discover(start_dirtests, patterntest_*.py)runner MyTestRunner()result runner.run(suite)通常使用 HTMLTestRunner 即可满足需求它非常易用。 实战一个测试案例 假设有一个测试函数 login # login.py def login(username, password):模拟登录校验if username kira and password 123456:return {code: 0, msg: 登录成功}else:return {code: 1, msg: 账号或密码不正确}设计用例 根据函数的参数和逻辑设计如下用例 序号标题测试数据预期结果实际结果1账号密码正确{username: kira, password: 123456}{code: 0, msg: 登录成功}2账号正确密码不正确{username: kira, password: 123}{code: 1, msg: 账号或密码不正确}3账号错误密码正确{username: kir, password: 123456}{code: 1, msg: 账号或密码不正确} 编写测试用例并运行 import unittest from login import loginclass TestLogin(unittest.TestCase):def test_login_correct(self):测试账号密码正确test_data {username: kira, password: 123456}expect_data {code: 0, msg: 登录成功}res login(**test_data)self.assertEqual(res, expect_data)def test_login_wrong_password(self):测试账号正确密码不正确test_data {username: kira, password: 123}expect_data {code: 1, msg: 账号或密码不正确}res login(**test_data)self.assertEqual(res, expect_data)def test_login_wrong_username(self):测试账号错误密码正确test_data {username: kir, password: 123456}expect_data {code: 1, msg: 账号或密码不正确}res login(**test_data)self.assertEqual(res, expect_data)if __name__ __main__:unittest.main()这是一个简单的测试用例包含了三个测试函数。运行测试用例后会输出测试结果看完是否觉得unittest非常简单易用。ner.run(suite) 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.zqtcl.cn/news/256990/

相关文章:

  • 无限极企业微信app下载安装网站改版seo
  • asp网站增加新栏目在哪添加贵州网站建设 零玖伍壹网络
  • 外包做一个网站一般费用手机wap网站模板 带后台
  • 西宁专业企业网站建设溧阳免费做网站
  • 网站开发有什么注意的爱网聊的人
  • 创建网站站点服务专业公司网站建设服务
  • 做的最好的视频教学网站南阳网站seo推广公司哪家好
  • 大气集团企业网站模板seo网站是什么意思
  • 张家口网站建设公司柒零叁网站建设湖南长沙
  • 网站建设合同或方案书手机链接ppt在哪个网站做
  • 宁波专业做网站免费网站模板大全
  • 高站网站建设平台设计标准
  • api网站模板wordpress 函数api文件
  • 泉州哪个公司网站做的好百度反馈中心
  • 宽屏蓝色企业网站源码软件工程师英文
  • 中企动力网站建设公司网站的设计路线
  • 宠物网站制作内容正规货源网站大全
  • 网站建设pc端软件公司简介
  • 科技公司企业网站源码如何免费建购物网站
  • 用动物做网站名甘肃省城乡建设网站
  • 重庆网站制作长沙榆林网站建设
  • 加快政务公开网站建设在中企动力工作的感受
  • 佛山网站搜索排名宿迁新站seo
  • 上海免费网站建设公司南通高端网站
  • 网站被镜像 站长学院那个网站都有做莱的图片
  • 个人简历 网站开发做同城网站需要哪些手续
  • 建网站的公司南京网站权重是什么
  • 网站建设策略百度云域名没有备案怎么做网站
  • 档案网站建设图片网站名查找
  • 九亭镇村镇建设办官方网站好看的网站设计公司