如何测试有时会失败?

Cam*_*and 1 .net testing random nunit unit-testing

我正在尝试为一个模块编写一个单元测试,它会根据某些标准给出一个随机的数字列表.

我正在写的特定测试是对原始序列的重新洗牌.我正在测试那个

  • 序列长度相同
  • 序列具有相同的值
  • 序列的顺序不同

这样做的问题是,有时序列在相同的顺序.处理这个问题的最佳方法是什么?

我正在使用NUnit(但如果它有帮助,可以使用另一个测试框架).

Ant*_*kov 6

你是如何产生随机数的?

我首先控制你的随机数生成器的种子,然后重新定义你的第三个测试,"当我们使用不同的种子时,序列的顺序不一样".


Jon*_*len 5

  • 我正在写的特定测试是对原始序列的重新洗牌.
  • 序列的顺序不同

这些要求不符合.如果你真的随机改组,那么显然列表可以保持不变.

虽然有一个选择.创建随机数生成器时,可以传入"种子".如果你总是传入相同的种子,你应该总是得到相同的答案.现在您已经随机抽取了随机函数,您可以轻松地对其进行单元测试.