我的项目通过获取最小值和最大值,为每种数据类型生成很少的值(相等分区方法)。我这样做是为了功能测试生成值,我实际上是将这些值传递给nunit合作伙伴,max和min适用于int,float,double等,这些值是测试数据。
最初,我为int、float、double、string等基本数据类型生成。
现在我需要支持像DataSet、HashTable和其他集合这样的数据类型。
public DataSet MySampleMethod(int param1, string param2, Hashtable ht)为了测试这个函数,我可以传递int和string的值,但是我如何传递ht的测试数据,或者如何为哈希表生成测试数据?
发布于 2009-03-24 07:57:11
首先-我总是为单元测试设定随机的值,所以它们是可重复的-然而,类似于(使用Dictionary<,>而不是HashTable,但等效):
Random rand = new Random(123456); // note seed
Dictionary<int, double> lookup = new Dictionary<int, double>();
for (int i = 0; i < 5000; i++)
{
lookup[rand.Next(100000)] = rand.NextDouble();
}发布于 2009-03-24 07:51:47
你根本不应该在单元测试中使用随机数据。测试可能会随机通过或失败,这取决于所选择的数据,当您试图找出失败的原因时,您可能会很难调试代码,因为您不能以可预测的方式重复失败。
https://stackoverflow.com/questions/676282
复制相似问题