我喜欢在测试时使用内存数据库(例如SQLite)而不是为我的存储库创建Mocks的想法。这样,我还可以测试存储库的代码,而不会出现任何性能问题。
此策略的优缺点是什么?
如果我使用的是 ORM,我通常倾向于在内存数据库中使用 sqlite 来测试我的应用程序,因为我没有设置模拟和预期结果的开销。使用虚拟数据库可以提高速度,但我不希望它比使用模拟数据库更快。如果我使用 SQL 适配器,我可能会使用模拟,否则我可能不得不重写调用。
我会说这两种策略是两种不同的东西。正如您自己所说,使用内存数据库,您也可以测试您的存储库,但是,您必须首先测试您的存储库以实现关注点分离。当你设计你的系统时,也许根据 MVC,你希望你的控制器在模型/存储库之前,因为首先你必须决定你想要做什么,然后决定哪些实体将协同实现该目标。因此,也许首先创建控制器和模拟存储库是更好的方法,然后您可以使用内存数据库测试您的存储库,如果它真的很容易设置。
归档时间: |
|
查看次数: |
2208 次 |
最近记录: |