Spec-Zone.ru › Ruby / Minitest

модуль Kernel

Kernel расширения для minitest

Приватные методы экземпляров

describe (desc, *additional_desc, &block)
Исходный код
# 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

Описывает серию ожиданий для заданной цели desc.

Определяет подкласс тестового класса, унаследованный от либо Minitest::Spec, либо от класса окружающего describe. Окружающий класс может вручную унаследовать от Minitest::Spec, чтобы легко делиться кодом:

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
end

Для получения дополнительной информации о написании спецификаций см.:

www.rubyinside.com/a-minitestspec-tutorial-elegant-spec-style-testing-that-comes-with-ruby-5354.html

Для получения советов по улучшению спецификаций, попробуйте:

betterspecs.org

но имейте в виду, что некоторые пункты там являются спорными или специфичными для rspec.

Для получения дополнительной информации об ожиданиях, см. Minitest::Expectations.

© Ryan Davis, seattle.rb
Licensed under the MIT License.
https://docs.seattlerb.org/minitest/Kernel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API