我今天下午碰到了这种情况,所以我想我会问你们做了什么.
我们有一个用于用户密码重置的随机密码生成器,在修复问题时,我决定将例程移到我的(慢慢增长的)测试工具中.
我想测试生成的密码是否符合我们设定的规则,但当然函数的结果将是随机的(或者,伪随机化).
你们在单元测试中会做些什么?生成一堆密码,检查它们是否全部通过,并认为它足够好?
单元测试每次运行都应该做同样的事情,否则你可能会遇到单元测试偶尔失败的情况,这可能是一个真正的调试难题.
尝试每次使用相同的种子播种伪随机数(在测试中,即 - 不在生产代码中).这样,您的测试每次都会生成相同的输入集.
如果您无法控制种子,并且无法阻止您正在测试的功能被随机化,那么我猜您会遇到不可预测的单元测试.:(