在定义策略时,是否可以参考其他策略?
@given(maximum=strategies.floats(min_value=0),
actual=strategies.floats(max_value=maximum))
def foo(maximum, actual):
pass
这抛出NameError: 'maximum' not defined'
编辑:
一种解决方法(或者可能是解决方法)是使用假设的assume
功能。就我而言,它看起来像:
@given(maximum=strategies.floats(min_value=0),
actual=strategies.floats(min_value=0))
def foo(maximum, actual):
assume(actual <= maximum)
pass