Ard*_* Xi 6 c# tdd unit-testing mstest testing-strategies
我有一些存储库类,用于与从IRepository接口派生的不同类型的数据进行通信.
在实现中,代码与数据源对话,这是XML文件或数据库的目录,甚至只是缓存.是否有可能对这些实现进行可靠的单元测试?我没有看到模拟实现工作,因为那时我只测试模拟代码而不是实际代码.
不,你在写一个使用了一个类的类时会使用一个模拟器IRepository.对于实现的IRepository,你需要测试针对相应的数据源.对于数据库来说,这有点痛苦 - 对于文件系统来说,稍微不那么容易.
在可能的情况下,如果您可以根据流或读者来表达您的实现,您将使您的生活更轻松:对实现的这些部分的测试可能违反内存中的数据源,或来自测试程序集中的资源的流.当然,您可能需要进行一些真实数据库或文件系统的测试,但希望更少.
无论你是否称这种测试"单元"测试都是你如何定义单元测试的问题; 我个人对所涉及的名字并不太在意,但我确实关心进行测试.特别是对于数据库而言,这些可能会有些痛苦(特别是如果您希望能够并行运行测试) - 但根据我的经验,它们也可能非常有价值.