module Minitest::Spec::DSL
def let name, &block
def let name, &block raise ArgumentError, 'name cannot begin with "test"' if name.to_s =~ /\Atest/ define_method name do @_memoized ||= {} @_memoized.fetch(name) { |k| @_memoized[k] = instance_eval(&block) } end end