pytest-参数有限的模糊化最佳设计

dfddblmv  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(131)

我想知道在里面用绒毛 pytest 最好的方法是什么。
过去我用 hypothesis 库来模糊值,但它只有在多次运行每个测试时才能发挥最佳作用。
由于我的系统运行缓慢,我希望能够将测试分为两类:“每日运行”和“回归”:
每日运行将运行每个测试1次
回归将每个测试运行x次
每次运行我都希望能够使用随机值。问题是测试参数在模糊化时具有我想要保持的“有效”范围。例如:

@pytest.parametrize("month_number", [4])
def test_foo(month_number):
    # Test with that value

因此,在这个例子中,我得到了月数-4的固定值。在解释我的尝试之前,我将给出另一个例子:

@pytest.parametrize("month_number", [40])
def test_invalid_foo(month_number):
    # Test with that invalid value

因此,在第二个示例中,我使用无效值进行测试。
月份数的范围显然是1-12。我想我可以写一些逻辑,在有效月份得到1-12之间的随机值,然后得到-infinity-0&13-infinity之间的随机值。但这是一种非常冗长的方式,仅就月号而言。事实上,我有十几个参数,我不想为每一个都写一个函数。
当然,我可以编写一些通用逻辑来做到这一点,并在每个参数上使用该通用逻辑,但我仍然想知道是否有更好的方法。
也不要忘记两个类别-每日跑步和回归。
编写带有参数限制的模糊测试的最佳实践是什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题