首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对跳跃进行参数化

如何对跳跃进行参数化
EN

Stack Overflow用户
提问于 2022-09-22 07:05:44
回答 1查看 30关注 0票数 1

目前,我有一组测试,希望在主机上的GPU上执行测试。例如,如果机器有3个GPU,我想使用1个GPU、2个GPU和3个GPU来测试这个功能。

我目前的方法(我知道这并不优雅或有效)是有8个测试,每个测试配置为使用从1到8个不等的大量GPU,如果主机没有所需的GPU数量,则每一个测试都将被跳过。

在使用@pytest.mark.parametrize设置8个不同的值作为测试中的GPUs数量的情况下,是否可以只编写一个测试,并将其与跳过测试的工具结合起来,以根据机器的gpus跳过测试?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-22 07:10:05

有没有办法只编写一个测试,其中我使用@pytest.mark.parametrize设置了8个不同的值,作为测试中的GPUs数量,并将其与跳过测试的工具结合起来,以根据机器的gpus跳过测试?

这似乎是个过度并发症?

为什么不检查一下图层的GPU数量,并创建一个从一个到那个数字的参数化呢?例如:

代码语言:javascript
复制
GPU_COUNT = get_number_of_gpus()

@pytest.mark.parametrize('gpus', range(GPU_COUNT))
def test_thing_gpu(gpus):
    ...

另外,skipif是一个静态条件,它在模块本身的计算过程中执行,并接受布尔条件而不是函数。

如果要根据运行时条件跳过,则需要从测试函数内部调用pytest.skip

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

https://stackoverflow.com/questions/73810583

复制
相关文章

相似问题

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