Sha256: 4d6e6d5b8d72f6a77977c6bb296c70613ba3e0c31db5b7d40c51d91f4d5bf613
Contents?: true
Size: 765 Bytes
Versions: 6
Compression:
Stored size: 765 Bytes
Contents
# frozen_string_literal: true require "n_plus_one_control" module NPlusOneControl # Minitest assertions module MinitestHelper def assert_perform_constant_number_of_queries( populate: nil, matching: nil, scale_factors: nil ) raise ArgumentError, "Block is required" unless block_given? queries = NPlusOneControl::Executor.call( population: populate || method(:populate), matching: matching || /^SELECT/i, scale_factors: scale_factors || NPlusOneControl.default_scale_factors ) { yield } counts = queries.map(&:last).map(&:size) assert counts.max == counts.min, NPlusOneControl.failure_message(queries) end end end Minitest::Test.include NPlusOneControl::MinitestHelper
Version data entries
6 entries across 6 versions & 1 rubygems