【发布时间】:2017-11-07 17:48:57
【问题描述】:
我对编程还是很陌生,只是学习如何进行单元测试。我需要测试一个返回随机值的函数。到目前为止,我已经找到了建议使用特定种子值的答案,以便“随机”序列是恒定的并且可以进行比较。这是我到目前为止所得到的:
这是我要测试的功能:
import random
def roll():
'''Returns a random number in the range 1 to 6, inclusive.'''
return random.randint(1, 6)
这是我的单元测试:
class Tests(unittest.TestCase):
def test_random_roll(self):
random.seed(900)
seq = random.randint(1, 6)
self.assertEqual(roll(), seq)
如何在函数中为PRNG设置对应的种子值,以便在不写入函数本身的情况下进行测试?或者这是测试随机数生成器的完全错误的方法?
谢谢
【问题讨论】:
-
可能想看看this question
-
@JaredGoguen 谢谢,我看过但不能完全理解他们的建议。似乎有 'seq = random.randint' 是我的问题,我不明白函数调用会使用测试中指定的种子。