n_plus_one_control:RSpec和Minitest匹配器以防止N + 1查询问题 源码
N + 1控制 RSpec和Minitest匹配器可防止N + 1查询问题。 为什么还有另一个断言来声明数据库查询呢? 与其他库(例如 , 等)不同,使用n_plus_one_control不必指定确切的期望值来控制代码行为(例如, expect { subject }.to query(2).times ) 。 很难维持这样的期望,因为存在很大的机会添加更多与被测系统无关的查询。 NPlusOneControl的工作原理有所不同。 它使用不同的比例因子多次评估所考虑的代码,以确保数据库查询的数量符合预期(即O(1)而不是O(N))。 因此,它用于性能测试,而不用于功能测试。 为什么
下载地址
用户评论