我正在开发一个相当成熟的 ASP.NET MVC 应用程序。我们已经掌握了一组服务背后的核心逻辑,并且我们正在使用 StructureMap 来注入适当的 IRepositories 的适当实例,以抽象与数据层适当的通信。我们还对这些服务进行了一系列相当详尽的单元测试。但是,就目前的情况而言,单元测试与一组使用内存对象图来表示数据库的假存储库进行通信。
我想做的是找到一种使用由数据库和我们的 Linq2Sql 存储库支持的同一组测试的好方法。现在,我可以看到使用#if() 编译器指令和一些标志来完成此任务的绝妙方法,但我怀疑有更好的方法可以实现。有什么建议么?
编辑:
詹姆斯回答了最初的问题,但他也让我意识到我不太清楚我的目标是什么。
我想做的是让这个出现,至少对于测试运行器(目前是 Gallio)来说,它是两个单独的程序集。主要原因是我可以分别运行单元测试和集成测试,避免完全依赖数据库。