c# – 你如何对一个与数据交谈的类进行单元测试?

我有一些存储库类,用于与IRepository接口派生的不同类型的数据进行通信.

在实现中,代码与数据源对话,这是XML文件数据库的目录,甚至只是缓存.是否有可能对这些实现进行可靠的单元测试?我没有看到模拟实现工作,因为那时我只测试模拟代码而不是实际代码.

解决方法

不,当你编写一个使用IRepository的类时,你会使用mock.对于IRepository的实现,您需要针对相应的数据源进行测试.对于数据库来说,这有点痛苦 – 对于文件系统来说,稍微不那么容易.

在可能的情况下,如果您可以根据流或读者来表达您的实现,您将使您的生活更轻松:对实现的这些部分的测试可能违反内存中的数据源,或来自测试程序集中的资源的流.当然,您可能需要进行一些真实数据库文件系统的测试,但希望更少.

无论你是否称这种测试“单元”测试都是你如何定义单元测试的问题;我个人对所涉及的名字并不太在意,但我确实关心进行测试.特别是对于数据库而言,这些可能会有些痛苦(特别是如果您希望能够并行运行测试) – 但根据我的经验,它们也可能非常有价值.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...