unit-testing – 如何对包含哈希表数据类型的函数进行单元测试?

我的项目通过获取最小值和最大值为每种数据类型生成一些值(相等的分区方法).我正在为功能测试生成这些值,我实际上将这些值传递给nunit伙伴,max和min适用于int,float,double等.这些值是测试数据.

最初我为基本数据类型生成它们,如int,float,double,string等.

现在我需要支持数据类型,如DataSet,HashTable和其他集合.

public DataSet MySampleMethod(int param1, string param2, Hashtable ht)

为了测试这个函数,我可以传递int和string的值,但是如何传递ht的测试数据或者如何为哈希表生成测试数据?

最佳答案 您需要从代码中抽象出哈希表实现,以便在单元测试时可以对其进行模拟,注入或存根.

只需创建一个名为IHashTable的接口,然后通过实现接口创建具体实现.然后让所有使用哈希表的类现在都使用IHashTable.然后向其构造函数添加一个参数,该参数接受IHashTable.

然后,当您在IHashTable接口的模拟或存根中进行单元测试时.

嘲弄:http://en.wikipedia.org/wiki/Mock_object

点赞