我正在尝试为一个函数编写一个doctest,在一个集合上调用random.sample()
。不幸的是,播种似乎不足以保证产量。如何在测试集上使用doctest random.sample()?
考虑以下几点:
>>> import random
>>> random.seed(1)
>>> s = set(('Ut', 'Duis', 'Lorem', 'Excepteur'))
>>> for _ in range(5): print(random.sample(s,1))
...
['Duis']
['Ut']
['Excepteur']
['Ut']
['Lorem']
>>> random.seed(1)
>>> for _ in range(5): print(random.sample(s,1))
...
['Duis']
['Ut']
['Excepteur']
['Ut']
['Lorem']
但是,如果我重新实例Python解释:
>>> import random
>>> random.seed(1)
>>> s = set(('Ut', 'Duis', 'Lorem', 'Excepteur'))
>>> for _ in range(5): print(random.sample(s,1))
...
['Duis']
['Lorem']
['Ut']
['Lorem']
['Excepteur']
也就是说,具有相同的价值播种random
不保证在Python的情况下相同的输出。我期望这个问题是特定于在Python中执行set的。任何有关如何为此场景编写文档测试的想法?
非常感谢您的帮助。
什么是Python版本? – user2357112
我使用Python 3.4-抱歉没有指定。 – Arman