首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >派泰斯特:把一个夹具传递给另一个

派泰斯特:把一个夹具传递给另一个
EN

Stack Overflow用户
提问于 2018-09-29 13:01:21
回答 1查看 4.5K关注 0票数 10

派泰斯特中,是否可以将一个夹具对象传递给另一个夹具对象?例如,假设我想要有两个治具对象:一个是numpy数组,另一个是该数组的模型:

代码语言:javascript
复制
import pytest
import numpy as np

@pytest.fixture()
def arr():
  np.random.seed(141)
  return np.random.seed(141)

@pytest.fixture()
def model(arr):
  return arr * 2

def test_multiplication(arr, model):
  assert model == arr * 2

在这里,arrfunction类型,而arr()是模型内部的NoneType,这让我很困惑。

在这种情况下,一些测试需要访问原始arr本身,而另一些测试则需要访问模型。

但是,要使这种工作正常进行,需要将一个夹具传递给另一个夹具(这样我们就可以使用数组构建模型)。这个是可能的吗?任何其他人能提供的帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-29 13:21:15

哇,我的示例arr()函数没有定义数组!您可以按上述方式共享固定装置:

代码语言:javascript
复制
import pytest
import numpy as np

@pytest.fixture()
def arr():
  np.random.seed(141)
  return np.random.rand(100,2)

@pytest.fixture()
def model(arr):
  return arr * 2

def test_multiplication(arr, model):
  assert np.all(model == arr * 2)

您还可以使用各种类方法创建一个类,然后从一个夹具中返回这个类。然后,测试可以调用单个类方法或访问类属性,以获得对更大块共享状态的访问。非常好。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52568619

复制
相关文章

相似问题

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