Module: Kernel
| Relationships & Source Files | |
| Defined in: | lib/minitest/spec.rb | 
Overview
Kernel extensions for minitest
Instance Method Summary
- 
    
      describe(desc, *additional_desc, &block)  
    
    private
    Describe a series of expectations for a given target desc.
Instance Method Details
describe(desc, *additional_desc, &block) (private)
Describe a series of expectations for a given target desc.
Defines a test class subclassing from either ::Minitest::Spec or from the surrounding describe’s class. The surrounding class may subclass ::Minitest::Spec manually in order to easily share code:
class MySpec < Minitest::Spec
  # ... shared code ...
end
class TestStuff < MySpec
  it "does stuff" do
    # shared code available here
  end
  describe "inner stuff" do
    it "still does stuff" do
      # ...and here
    end
  end
endFor more information on getting started with writing specs, see:
www.rubyinside.com/a-minitestspec-tutorial-elegant-spec-style-testing-that-comes-with-ruby-5354.html
For some suggestions on how to improve your specs, try:
but do note that several items there are debatable or specific to rspec.
For more information about expectations, see ::Minitest::Expectations.
# File 'lib/minitest/spec.rb', line 82
def describe desc, *additional_desc, &block # :doc: stack = Minitest::Spec.describe_stack is_spec_class = Class === self && kind_of?(Minitest::Spec::DSL) name = [stack.last, desc, *additional_desc] name.prepend self if stack.empty? && is_spec_class sclas = stack.last \ || (is_spec_class && self) \ || Minitest::Spec.spec_type(desc, *additional_desc) cls = sclas.create name.compact.join("::"), desc stack.push cls cls.class_eval(&block) stack.pop cls end