Spec-Zone.ru › Ruby / Minitest

class Minitest::Test

Parent:
Minitest::Runnable
Included modules:
Minitest::Assertions, Minitest::Reportable, Minitest::Test::LifecycleHooks, Minitest::Guard

Subclass Test to create your own tests. Typically you’ll want a Test subclass per implementation class.

See Minitest::Assertions

Публичные методы класса

i_suck_and_my_tests_are_order_dependent! ()
Исходный код
# File lib/minitest/test.rb, line 35
def self.i_suck_and_my_tests_are_order_dependent!
  class << self
    undef_method :test_order if method_defined? :test_order
    define_method :test_order do :alpha end
  end
end

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

make_my_diffs_pretty! ()
Исходный код
# File lib/minitest/test.rb, line 48
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 60
def self.parallelize_me!
  include Minitest::Parallel::Test
  extend Minitest::Parallel::Test::ClassMethods
end

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

runnable_methods ()
Исходный код
# File lib/minitest/test.rb, line 70
def self.runnable_methods
  methods = methods_matching(/^test_/)

  case self.test_order
  when :random, :parallel then
    srand Minitest.seed
    methods.sort.shuffle
  when :alpha, :sorted then
    methods.sort
  else
    raise "Unknown test_order: #{self.test_order.inspect}"
  end
end

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

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

run ()
Исходный код
# File lib/minitest/test.rb, line 87
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.
https://docs.seattlerb.org/minitest/Minitest/Test.html

Spec-Zone.ru

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