import pytestfrom mypackage import db@pytest.fixture()def cleaner(request): def finalizer(): db.clear() request.addfinalizer(finalizer)
然后在我的setup.cfg中我…
[pytest]norecursedirs = .git venvusefixtures = cleaner
这导致数据库在每次测试后被截断.哪个好.但是现在我想要我制作的其他灯具也可以从清洁器中调出终结器.有没有办法定义另一个以某种方式扩展或称为更清洁的夹具?
解决方法 您必须声明您的其他灯具明确依赖于清洁剂:import pytest@pytest.fixturedef cleaner(request): def finalizer(): print '\n"cleaner" finalized' print '\n"cleaner" fixture' request.addfinalizer(finalizer)@pytest.fixturedef other(cleaner): print '\n"other" fixture'def test_foo(other): pass
使用py.test -s -v运行它会产生:
test_foo.py@16::test_foo"cleaner" fixture"other" fixturePASSED"cleaner" finalized总结
以上是内存溢出为你收集整理的python – 可以组合pytest灯具吗?全部内容,希望文章能够帮你解决python – 可以组合pytest灯具吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)