如何替换选择策略?
How do I replace the choices strategy?
我更新了 Python 假设,似乎 choices()
现在已被弃用。
文档对 data()
和 sampled_from()
进行了一些操作,但不清楚应该如何使用它们来代替 choices()
。
我的代码看起来像这样:
@precondition(lambda self: not self.flash_light.crossed)
@rule(choice=st.choices)
def make_forward_move(self, choice):
persons = [x for x in self.persons if not x.crossed]
pers1 = choice(persons)
persons.remove(pers1)
pers2 = choice(persons)
我是通过反复试验找到的。所需的更改是:
@rule(data=st.data())
...
...
pers1 = data.draw(st.sampled_from(persons))
我的代码的运行方式仍然存在一些细微差别,但这些更改足以使其达到 运行。
我更新了 Python 假设,似乎 choices()
现在已被弃用。
文档对 data()
和 sampled_from()
进行了一些操作,但不清楚应该如何使用它们来代替 choices()
。
我的代码看起来像这样:
@precondition(lambda self: not self.flash_light.crossed)
@rule(choice=st.choices)
def make_forward_move(self, choice):
persons = [x for x in self.persons if not x.crossed]
pers1 = choice(persons)
persons.remove(pers1)
pers2 = choice(persons)
我是通过反复试验找到的。所需的更改是:
@rule(data=st.data())
...
...
pers1 = data.draw(st.sampled_from(persons))
我的代码的运行方式仍然存在一些细微差别,但这些更改足以使其达到 运行。