百度联盟怎么做网站,wordpress软件推荐,网站开发设计jw100,四川高端网站建设1、什么是单元测试框架
单元测试是指在软件开发当中#xff0c;针对软件的最小单位#xff08;函数#xff0c;方法#xff09;进行正确性的检查测试。
2、单元测试框架主要做什么 测试发现#xff1a;从多个文件里面去找到我们需要的测试用例。 测试执行#xff1a;按…1、什么是单元测试框架
单元测试是指在软件开发当中针对软件的最小单位函数方法进行正确性的检查测试。
2、单元测试框架主要做什么 测试发现从多个文件里面去找到我们需要的测试用例。 测试执行按照一定的顺序和规则去执行测试用例并生成结果。 测试判断通过断言判断预期结果和实际结果的差异。 测试报告统计测试进度耗时通过率等数据并生成测试报告。
3、单元测试框架和自动化测试框架有什么关系
1自动化测试框架作用 提高测试效率降低自动化用例的维护成本。 减少人工干预提高测试的准确性增加代码的重用性。 核心思想是让不懂代码的人也能够通过这个框架去实现自动化测试。
2Pytest单元测试框架和自动化测试框架的关系
单元测试框架只是自动化测试框架中的组成部分之一。
pom设计模式、数据驱动、关键字驱动、全局配置文件的封装、日志监控、Selenium和Requests的二次封装、报告邮件、断言体系的设计封装等都是自动化测试框架中的组成部。
4、Pytest测试框架说明
Pytest是Python的⼀种单元测试框架全功能且非常成熟同⾃带的Unittest测试框架类似相⽐于Unittest框架使⽤起来更简洁效率更⾼。
Pytest测试框架主要有以下几个特点 Pytest是一个非常成熟的Python的单元框架比Unittest更灵活容易上手。 Pytest支持参数化配置。 Pytest能够支持简单的单元测试和复杂的功能测试还可以和SeleniumRequestsAppium结合实现web自动化接口自动化APP自动化。 执行测试过程中可以将某些测试跳过或者对某些预期失败的case标记成失败也支持重复执行失败的case。跳过用例和reruns失败用例重试 即支持测试用例的skip和xfail处理。 Pytest可以很好的和Jenkins进行持续集成。 Pytest可以和allure生成非常美观的测试报告。 在Pytest框架下可以执行Unittest框架的用例。 Pytest有很多非常强大的第三方插件并且这些插件能够实现很多实用的操作。 并且也可以自定义Pytest插件。 Pytest官方文档https://docs.pytest.org/en/latest/contents.html 5、Pytest框架和Unittest框架区别
1Unittest
Unittest是Python标准库中自带的单元测试框架Unittest有时候也被称为PyUnit就像JUnit是Java语言的标准单元测试框架一样Unittest框架则是Python语言的标准单元测试框架。
Unittest支持自动化测试测试用例的初始化、关闭和测试用例的聚合等功能它有一个很重要的特性它是通过类(class)的方式将测试用例组织在一起。
2Pytest
Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易并且也能扩展到支持应用层面复杂的功能测试。
3区别
1用例编写规则 Unittest测试框架 1、提供test.casestest suitestest fixturestest rurner相关类让测试更加明确、方便、可控。 2、测试文件编写前必须先导入Unittest测试框架import unittest。 3、测试类必须继承unittest.TestCase类且测试类要Test_开头。可去掉横线下同 4、测试方法要以test_开头。 5、测试类必须要用unittest.main()方法执行。 Pytest测试框架 1、基于Unittest的扩展框架比Unittest更简洁、更高效。 2、测试文件必须test_开头。 3、测试类命名必须以test_开头。 4、测试方法必须test_开头函数也一样。 规则可自定义。 总结 Unittest用例格式复杂不能兼客Pytest用例。 Pytest用例格式简单可以兼容Unittest用例。
2用例的前置和后置 Unittest测试框架 提供了setUp/tearDowm方法只能针对所有用例。 Pytest测试框架 1、Pytest提供了模块级、函数级、类级、方法级的setup/teardown比Unittest的setup/tearDowm方法更活。 模块级setup_module/teardown_module开始于模块始末全局。 类级setup_class/teardown_class只在类中前后运行一次类中。 函数级setup_function/teardow_function只对函数用例生效不在类中。 方法级setup_method/teardown_method开始于方法始末在类中。 类里面的setup/teardown运行在调用方法的前后。 2、函数前加pytest.fixtures()装饰器在测试用例中使用Fixture函数。 可作用于function\module\class\session中。 fixture相对于setup/teardown来说的优势如下 命名方式灵活不局限于setup/teardown。 conftest.py配置里可以实现数共享无需import就可自动找到配置数据可供多个.py文件调用。 scopemodule可以实现多个.py文件跨文件共享前置。 scopesession可以实现多个.py文件跨文件使用一个session来完成用例。 使用yeild返回相当于teardown的作用。
3参数化 Unittest测试框架结合DDT实现参数化。 Pytest测试框架直接使用pytest.mark.parametrize装饰器。
4断言 Unittest测试框架可使用提供的assertEqualassertIn、assertTrueassertFalse断言方法。 Pytest测试框架直接使用Python语言内置的assert表达式。
5用例分类执行 Unittest测试框架默认执行全部用例可以通过加载testsuite执行部分模块的用例。 Pytest测试框架可以通过pytest.mark来标记测试用例执行命令前加上参数-m即可运行标记的用例。
6失败重运行 Unittest测试框架无。 Pytest测试框架支持用例执行失败重跑提供了pytest-rerunfailures插件。
7报告 Unittest测试框架使用HTMLTestRunnerNew库生成测试报告。 Pytest测试框架使用pytest-HTML、allure插件生成测试报告。
总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 文档获取方式
加入我的软件测试交流群1007119548免费获取~同行大佬一起学术交流每晚都有大佬直播分享技术知识点
这份文档对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你 以上均可以分享只需要你搜索vx公众号程序员雨果即可免费领取