在使用 ASP.Net MVC 之后,我开始考虑 Rails。我之前使用过 Rails,但有点生疏。ASP.Net MVC 教程建议使用存储库模式隐藏数据层实现。这允许更轻松的单元测试依赖注入,以及控制器与模型实现的良好解耦。
我记得 Rails 的控制器直接使用 Active Record 对象,以及使用可以轻松设置和拆除的测试数据库的单元测试。这解决了更换单元测试的需要,但在控制器中公开这么多 ActiveRecord 代码似乎仍然是个坏主意。
所以我的问题是,这里最新的最佳实践是什么?真实(非模拟)数据库是否仍用于单元测试?Rails 开发人员是直接调用 ActiveRecord 还是抽象?