module Kernel
def describe desc, &block
def describe desc, &block stack = MiniTest::Spec.describe_stack name = [stack.last, desc].compact.join("::") cls = Class.new(stack.last || MiniTest::Spec) # :stopdoc: # omg this sucks (class << cls; self; end).send(:define_method, :to_s) { name } # :startdoc: cls.nuke_test_methods! stack.push cls cls.class_eval(&block) stack.pop cls end