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

仿70网站分类目录源码哪个网站做的最好

仿70网站分类目录源码,哪个网站做的最好,网站数据库怎么恢复,专业做中文网站fixture的作用 1.同unittest的setup和teardown,作为测试前后的初始化设置。 fixture的使用 1.作为前置条件使用 2.fixture的的作用范围 1.作为前置条件使用 pytest.fixture() def a():return 3def test_b(a):assert a3 2.fixture的作用范围 首先实例化更高范围的fixture…fixture的作用 1.同unittest的setup和teardown,作为测试前后的初始化设置。 fixture的使用 1.作为前置条件使用 2.fixture的的作用范围 1.作为前置条件使用 pytest.fixture() def a():return 3def test_b(a):assert a3 2.fixture的作用范围 首先实例化更高范围的fixture.默认为scopefunction,每个测试函数都会执行一次。 session : 多个.py文件执行时只调用一次 module: 每一个.py调用一次 class : 每个类调用一次 function: 每个函数调用一次 3.fixture 作为setup/teardown执行 yield 前的在测试之前执行yield后的在测试完后执行 pytest.fixture def a():print(setup)yieldprint(teardown)def test_b(a):print(测试) 4.fixture with # pytest.fixture() # def write_file(): # f open(myfile.txt,w) # f.write(hello) # yield # f.close() pytest.fixture() def write_file():with open(myfile.txt,w) as f:f.write(hello1)def test_write_file(write_file):print(ceshi) 5. fixture request可以请求测试的上下文 pytest.fixture(params[1,3]) def a(request):return request.paramdef test_b(a):assert a in [1,3] 6.fixture 工厂模式 在单个测试中如果想多次调用该fixture,就可以用工厂模式。fixture的结果返回的不是数据而是返回生成数据的函数。 pytest.fixture def make_customer_record():def _make_customer_record(name):return {name: name, orders: []}return _make_customer_recorddef test_customer_records(make_customer_record):customer_1 make_customer_record(Lisa)customer_2 make_customer_record(Mike)customer_3 make_customer_record(Meredith) 7.带参数的fixture params列表有几个值测试就会执行几次。例params[1,2],测试用例会执行2次 pytest.fixture(params[0, 1, pytest.param(2, markspytest.mark.skip)]) def data_set(request):return request.paramdef test_data(data_set):assert data_set in [0,1] 8. 模块化在一个fixtrue调用另一个fixture fixture a可以调用另一个fixture c pytest.fixture() def c():print(c)pytest.fixture() def a(c):print(a)def test_b(a):pass 9.通过fixture 对测试用例进行分组 pytest在测试运行期间最大程度地减少了fixture的数量。如果有参数化的fixtrue,那么使用它的所有测试将首先使用一个实例执行然后在创建下一个fixture实例之前调用终结器。除其他外这简化了对创建和使用全局状态的应用程序的测试。 pytest.fixture(scopemodule, params[1, 2]) def input_x(request):print(setup)param request.paramyield paramprint(teardown) def test_a(input_x):print(test_a)assert input_x in [1,2]def test_b(input_x):print(test_b)assert input_x in [1,2]if __name__ __main__:pytest.main([-q,fixture_1.py]) 运行结果 fixture_1.py setup .test_a .test_b teardown setup .test_a .test_b teardown 如上所示设置scopemodule,会将所有调用该fixture的用例都执行一遍而fixture只执行了一次。 10.使用类、模块、项目中的fixture userfixtures,可以调用在其他模块定义好的fixture. pytest.mark.usefixtures(x) class TestCase:def test_1(self):print(test_1)def test_2(self):print(test_2)if __name__ __main__:pytest.main([-q,test_2.py]) a.usefixture可以添加多个fixture pytest.mark.usefixtures(a, b) def test():pass b.可以使用标记机制的通用功能在测试模块级别指定fixture pytestmark pytest.mark.usefixtures(a)def test_a():def test_b(): c.可以将项目中所有测试所需的fixture放入ini文件中 #pytest.ini[pytest] usefixtures x#test_case.py pytest.mark.usefixtures def test_a():pass 11.自动使用fixture autouseTrue 有时你可能希望自动调用fixture, 而无需显示声明函数参数或usefixtures装饰器。 import pytestclass DB:def __init__(self):self.intransaction []def begin(self, name):self.intransaction.append(name)def rollback(self):self.intransaction.pop()pytest.fixture(scopemodule) def db():return DB()class TestClass:pytest.fixture(autouseTrue)def transact(self, request, db):db.begin(request.function.__name__)yielddb.rollback()def test_method1(self, db):assert db.intransaction [test_method1]def test_method2(self, db):assert db.intransaction [test_method2] 类级transact夹具标记有autouse true 这意味着该类中的所有测试方法都将使用此夹具而无需在测试函数签名或类级usefixtures修饰器中声明它。 autouse固定装置遵循scope关键字参数如果有autouse固定装置scopesession则无论定义在何处都只能运行一次。scopeclass表示它将每节课运行一次依此类推。 如果在测试模块中定义了自动使用夹具则其所有测试功能都会自动使用它。 如果在conftest.py文件中定义了自动使用的固定装置则其目录下所有测试模块中的所有测试都将调用固定装置。 最后请谨慎使用如果您在插件中定义了自动使用夹具它将在安装该插件的所有项目中的所有测试中调用它。如果固定装置仅在某些设置下例如在ini文件中仍然可以工作则这很有用。这样的全局夹具应始终快速确定它是否应该做任何工作并避免其他昂贵的导入或计算。 请注意上面的transact灯具很可能是您希望在项目中不启用的灯具。做到这一点的规范方法是将事务处理定义放入conftest.py文件中而无需使用autouse # content of conftest.py pytest.fixture def transact(request, db):db.begin()yielddb.rollback() 然后例如通过声明需要让TestClass使用它 pytest.mark.usefixtures(transact) class TestClass:def test_method1(self):... 该TestClass中的所有测试方法都将使用事务处理夹具而模块中的其他测试类或功能将不使用它除非它们也添加了transact引用。 fixture覆盖 1.对于测试文件夹级别具有相同名称的fixture可以被覆盖 tests/__init__.pyconftest.py# content of tests/conftest.pyimport pytestpytest.fixturedef username():return usernametest_something.py# content of tests/test_something.pydef test_username(username):assert username usernamesubfolder/__init__.pyconftest.py# content of tests/subfolder/conftest.pyimport pytestpytest.fixturedef username(username):return overridden- usernametest_something.py# content of tests/subfolder/test_something.pydef test_username(username):assert username overridden-username 2.在测试模块中覆盖fixture tests/__init__.pyconftest.py# content of tests/conftest.pyimport pytestpytest.fixturedef username():return usernametest_something.py# content of tests/test_something.pyimport pytestpytest.fixturedef username(username):return overridden- usernamedef test_username(username):assert username overridden-usernametest_something_else.py# content of tests/test_something_else.pyimport pytestpytest.fixturedef username(username):return overridden-else- usernamedef test_username(username):assert username overridden-else-username 3.在文件内覆盖 tests/__init__.pyconftest.py# content of tests/conftest.pyimport pytestpytest.fixturedef username():return usernamepytest.fixturedef other_username(username):return other- usernametest_something.py# content of tests/test_something.pyimport pytestpytest.mark.parametrize(username, [directly-overridden-username])def test_username(username):assert username directly-overridden-usernamepytest.mark.parametrize(username, [directly-overridden-username-other])def test_username_other(other_username):assert other_username other-directly-overridden-username-other 4.对于某些测试模块参数化的夹具被非参数化的版本覆盖而非参数化的夹具被参数化的版本覆盖。显然测试文件夹级别也是如此。 tests/__init__.pyconftest.py# content of tests/conftest.pyimport pytestpytest.fixture(params[one, two, three])def parametrized_username(request):return request.parampytest.fixturedef non_parametrized_username(request):return usernametest_something.py# content of tests/test_something.pyimport pytestpytest.fixturedef parametrized_username():return overridden-usernamepytest.fixture(params[one, two, three])def non_parametrized_username(request):return request.paramdef test_username(parametrized_username):assert parametrized_username overridden-usernamedef test_parametrized_username(non_parametrized_username):assert non_parametrized_username in [one, two, three]test_something_else.py# content of tests/test_something_else.pydef test_username(parametrized_username):assert parametrized_username in [one, two, three]def test_username(non_parametrized_username):assert non_parametrized_username username 实用技巧 1.conftest.py 共享fixture。如果定义fixture过多且需要多个地方调用可将fixture放入conftest.py文件中使用时不需要导入 总结 感谢每一个认真阅读我文章的人 作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助 软件测试面试文档 我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。
http://www.pierceye.com/news/477052/

相关文章:

  • 找别人做的网站怎样修改招聘app
  • 学校网站内容建设银行网站电脑上不去
  • 住建部工程建设标准网站上海室内设计事务所
  • 做外贸采购都是用什么网站网站重构方案
  • 企业网站做推广河南app开发
  • 海宁做网站的公司仿搜狐视频网站源码
  • 网站备案和不备案的上海制作网站公司网站
  • 网站建设专业介绍在线平面图设计
  • 临时工找工作网站做美缝手机网站不收录
  • 凡科建站怎么样网络推广网站培训班
  • 优惠券的网站怎么做的网站建设业务元提成
  • 网站开发项目组成员免费建网站的app
  • 怎样自己做公司网站驻马店logo设计公司
  • 知名网站制作公司排名徐州人才网最新招聘2023
  • 网站建设与网页设计难学吗做彩票的网站
  • 请问怎么做网站郑州小程序开发制作
  • 城乡建设网站职业查询系统小公司根本办不了icp许可证
  • 网站架构搭建搭建网站是什么专业
  • 互助网站建设电脑做网站端口映射
  • 电力行业做的好的招投标网站wordpress 自定义注册表单
  • 网站开发采集工具网站设计计划书的要求
  • 技术支持:佛山网站建设珠海网站制作服务
  • 公司网站建设方案ppt网站下载织梦模板
  • 免费创建虚拟网站漳州鼎信
  • 武义县网站建设公司上海seo外包
  • 免费html网站模板下载怎么做网站外链接
  • 南昌网站建设公司收费桂林做网站的公司有哪些
  • 南京网站建设方案智能管理系统
  • 黄埔网站建设价格资源网站推广
  • 桦南县建设局网站动漫制作技术和动漫设计