2014-05-21 26 views
0

我曾经在我的DAL中使用Repository和Unit of Work的顾客。我刚开始使用MVC。在这里我需要一些帮助。为可测试的控制器我需要UoW还是只需要存储库?

我是否需要在我的DAL中实现工作单元以使我的控制器可测试或者只需要接口实现的存储库?

我混淆了我将如何做控制器单元测试,如果我实施UoW?

对不起我的问题可能有点理论,但它肯定是我猜:)

回答

1

存储库接口,你的控制器构造为控制器测试很简单。如果您还想单元测试存储库,则可以使用工作单元界面来抽象数据库工作,这很容易为EF创建。这只允许您测试多个图层。

+0

谢谢 你说过一些我正在寻找的东西,但有些东西我没有意识到。 如果我使用UoW,控制器测试不会变得困难?在测试类中,我将如何传递数据库?填充接口将变得非常困难。你可以请建议一些链接或亲切分享更多的细节。 – user576510

+0

如果我将在控制器中使用repository itnerface,那么控制器的testign会很好。我不明白使用UoW接口如何测试控制器和DAL?请指导。 – user576510

+0

控制器应该消耗Repository,但是存储库应该消耗UOW--因此,控制器知道ICustomerRepository,并且CustomerRepository(实现)知道UOW。保持控制器和UOW分开。任何CRUD操作都将始终通过存储库。如果你将它分开,它将更容易处理。 –

相关问题