首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何通过当前(运行)测试模块的夹具,放置在糖果测试?

我如何通过当前(运行)测试模块的夹具,放置在糖果测试?
EN

Stack Overflow用户
提问于 2018-11-20 08:57:44
回答 1查看 396关注 0票数 1

我想知道如何通过当前运行测试模块的夹具,或如何知道夹具?(我需要为包中的每个测试模块加载特定的配置文件)。

我可以在每个测试模块中创建夹具,但是我想要更通用的解决方案。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-20 09:28:31

通常,您可以在这样的夹具中获得模块名:

代码语言:javascript
复制
@pytest.fixture
def fixture_global(request):
    module_name = request.module.__name__
    print(module_name) 
    # some logic depends on module name

它甚至可能是conftest中的全局夹具,但通过这种方式,不适用于会话范围固定设备,因为它们并不是每个使用它的模块都被调用的。

如果您想要一个基本共享的夹具代码,以及一些特定模块的特定代码,我会建议一个更好的方法。

在全局conftest.py中放置带有通用代码的基座夹具。如果希望将其用于特定的测试模块,只需将全局夹具作为参数注入本地夹具即可。就像这样:

conftest.py

代码语言:javascript
复制
@pytest.fixture
def global_fixture():
  # universal code for vary modules
  return universal_obj

test_module.py

代码语言:javascript
复制
@pytest.fixture
def local_fixture(global_fixture):
  # specific code that uses global fixture result
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53389396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档