我的项目通过获取最小值和最大值,为每种数据类型生成几个值(相等分区方法)。我正在为功能测试生成这些值,我实际上是将这些值传递给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:20:37
您需要将哈希表实现从代码中抽象出来,以便在单元测试时可以对其进行模拟、注入或存根。
只需创建一个名为IHashTable的接口,然后通过实现该接口来创建您的具体实现。然后让所有使用哈希表的类现在都使用IHashTable。然后向它们的构造函数添加一个接受IHashTable的参数。
然后,当您进行单元测试时,传入IHashTable接口的模拟或存根。
模拟:http://en.wikipedia.org/wiki/Mock_object
https://stackoverflow.com/questions/676384
复制相似问题