class Minitest::Test
Subclass Test to create your own tests. Typically you’ll want a Test subclass per implementation class.
Публичные методы класса
Исходный код
# 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 Вызовите это в начале своих тестов, если вам абсолютно необходимо, чтобы тесты выполнялись в определенном порядке. Таким образом, вы признаёте, что у вас плохие тесты.
Исходный код
# 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, но намного удобнее для сложных объектов.
Исходный код
# File lib/minitest/test.rb, line 60 def self.parallelize_me! include Minitest::Parallel::Test extend Minitest::Parallel::Test::ClassMethods end
Вызовите это в начале своих тестов (внутри подкласса Minitest::Test или describe блока), если вы хотите запустить тесты параллельно. Таким образом, вы признаёте, что вы велики, и ваши тесты крутые.
Исходный код
# 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, методы сортируются, рандомизируются (по умолчанию) или выполняются параллельно.
Публичные методы экземпляров
Исходный код
# 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