我必须使用示例数据测试一些功能:
data = [
[[10, 20, 30], 10],
[[20, 30], 20],
[[40], 30],
]
其中每行中的第一个元素列表包含 N=(1 到 5) 个随机整数元素,这些元素通过以下方式生成:
st.lists(
st.integers(min_value=10),
min_size=2,
max_size=5,
unique=True)
每行中的第二个元素包含来自所有生成列表的所有唯一整数集合中的随机样本。
所以对于我的data
例子:
- 列表包含来自唯一集合 (10,20,30,40) 的值;
- 每行中的第二个元素包含来自该集合的随机整数样本;
如何使用假设测试框架实施这样的策略?
这个不起作用:
int_list = st.integers(min_value=10)
@given(st.lists(
elements=st.tuples(
int_list,
st.sampled_from(int_list))