Spec-Zone.ru › Ruby / Minitest

класс Minitest::Test

Подключённые модули:
Minitest::Reportable, Minitest::Assertions, Minitest::Test::LifecycleHooks, Minitest::Guard

Создавайте собственные тесты, наследуя класс Test. Обычно для каждого класса реализации следует создавать отдельный подкласс Test.

См. Minitest::Assertions

Общедоступные методы класса

i_suck_and_my_tests_are_order_dependent! () Показать исходный код
# File lib/minitest/test.rb, line 31
def self.i_suck_and_my_tests_are_order_dependent!
  class << self
    undef_method :run_order if method_defined? :run_order
    define_method :run_order do :alpha end
  end
end

Вызовите этот метод в начале тестов, если вам непременно нужно, чтобы тесты выполнялись в заданном порядке. Тем самым вы признаёте, что вы неудачник, а ваши тесты слабы.

make_my_diffs_pretty! () Показать исходный код
# File lib/minitest/test.rb, line 44
def self.make_my_diffs_pretty!
  require "pp"

  define_method :mu_pp, &:pretty_inspect
end

Для этого Test используйте pretty_inspect при формировании различий, чтобы различия в assert_equal содержали больше подробностей. ПРИМЕЧАНИЕ: это значительно медленнее обычного inspect, но гораздо удобнее для сложных объектов.

parallelize_me! () Показать исходный код
# File lib/minitest/test.rb, line 56
def self.parallelize_me!
  return unless Minitest.parallel_executor
  include Minitest::Parallel::Test
  extend Minitest::Parallel::Test::ClassMethods
end

Вызовите этот метод в начале тестов (внутри подкласса Minitest::Test или блока describe), если хотите выполнять тесты параллельно. Тем самым вы признаёте, что вы круты, а ваши тесты великолепны.

runnable_methods () Показать исходный код
# File lib/minitest/test.rb, line 67
def self.runnable_methods
  methods = methods_matching(/^test_/)

  case self.run_order
  when :random, :parallel then
    srand Minitest.seed
    methods.sort.shuffle
  when :alpha, :sorted then
    methods.sort
  else
    raise "Unknown_order: %p" % [self.run_order]
  end
end

Возвращает все методы экземпляра, имена которых начинаются с «test_». В зависимости от run_order методы сортируются, запускаются в случайном порядке (по умолчанию) или выполняются параллельно.

Общедоступные методы экземпляра

run () Показать исходный код
# File lib/minitest/test.rb, line 84
def run
  time_it do
    capture_exceptions do
      SETUP_METHODS.each do |hook|
        self.send hook
      end

      self.send self.name
    end

    TEARDOWN_METHODS.each do |hook|
      capture_exceptions do
        self.send hook
      end
    end
  end

  Result.from self # per contract
end

Запускает один тест с хуками настройки и очистки.

© Ryan Davis, seattle.rb
Licensed under the MIT License.

Spec-Zone.ru

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