首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将方法重写为单元可测试的方法

将方法重写为单元可测试的方法
EN

Stack Overflow用户
提问于 2013-11-08 05:05:31
回答 1查看 188关注 0票数 0

我发现我经常喜欢编写只查询数据库并返回结果的方法。这对复杂的过滤器或查询“链接”非常有帮助。例如,这里有一个模型Clazz,它代表一个学术班的学生。Clazz有很多Enrollment,所以我写了这个方法来保持代码干燥,因为我经常使用这个条件。

代码语言:javascript
复制
class Clazz
    def cash_enrollments
        enrollments.where(payment_type: 'cash')
    end
end

随着我对单元测试的深入了解,我注意到这种模式是有问题的,因为它与数据库的耦合过于紧密。在数据库事务运行时测试大型数据集时,问题会加剧。

有没有一种“单元测试友好”的方式来重写这段代码?有没有另一种更好的通用模式?

EN

回答 1

Stack Overflow用户

发布于 2013-11-08 05:09:48

您可以尝试此http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/提取查询对象或服务对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19846690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档