问题陈述
下面是一个与我想做的事情很接近的玩具示例。
@given(
idx_start=integers(min_value=0, max_value=100000),
idx_window=integers(min_value=0, max_value=100000),
)
def test_calc_max(conftest_df, idx_start, idx_window):
row_idxs = conftest_df.index[idx_start : (idx_start + idx_window)]
assert calc_max(conftest_df.loc[row_idxs, "my_column"]) >= 0
conftest_df是我在固定文件中提供的数据框conftest.py,它代表我用于包的真实数据的一部分。
该数据帧中的值很少。 NaN我想使用它hypothesis,因为它非常棒,而且我坚信这是正确的做事方式。
但我还想确保测试中的方法和函数适用于 NaN。我真的不想只说NaNs,将来可能会出现其他内容(例如,使用逗号而不是句点来表示小数的数字)。
理想的解决方案通过hypothesis
我宁愿能够做这样的事情:
@given(
idx_start=integers(min_value=0, max_value=100000, includes=[5, 4000, 80000]),
idx_window=integers(min_value=0, max_value=100000, includes=[20]),
)
.
.
.
并且有办法确保通过参数考虑某些值includes。
我知道这hypothesis会跟踪失败的值,但根据我的经验,它似乎并不能保证它们的使用。
有没有办法做我想做的事?
交互式爱情
相关分类