我已经创建了SqlCommand的扩展方法,它允许在执行命令之前一些额外的工作:方法测试的扩展方法的SqlCommand
public static SqlDataReader ExecuteMyReader(this SqlCommand sqlCommand)
{
// Some calculations here
return sqlCommand.ExecuteReader();
}
我的问题是什么是单元测试的最好方式这扩展方法?
我应该直接对数据库进行测试吗?
或者我应该尝试创建一个模拟对象吗?如果是这种情况,我尝试通过Moq来做这件事,但由于SqlCommand是一个封闭的类,我似乎无法嘲笑它。
这也是一个不错的选择。 – Finglas 2010-04-19 13:37:25
我可以把计算拉出来,所以它是在它自己的方法中,但是我宁愿这个方法保持私有,是否有测试私有方法的方法? – lancscoder 2010-04-19 13:40:46
@Simon - 查看http://stackoverflow.com/questions/51950/how-do-i-allow-assembly-unit-testing-one-to-access-internal-properties-of-anoth – Finglas 2010-04-19 13:44:13