module Kernel
def describe desc, &block
def describe desc, &block stack = MiniTest::Spec.describe_stack name = desc.to_s.split(/\W+/).map { |s| s.capitalize }.join + "Spec" prev = stack.last name = "#{prev == MiniTest::Spec ? nil : prev}::#{name}" cls = Object.class_eval "class #{name} < #{prev}; end; #{name}" cls.nuke_test_methods! stack.push cls cls.class_eval(&block) stack.pop end