Мне нужно написать несколько тестов для проверки вывода на STDERR с помощью minitest
Это нормально работает, если я хочу проверить вывод на STDOUT, но если попробовать проверить STDERR - asser_output просто не поймать строка в немНеверная проверка `assert_output` для stderr
Так что мой код выглядит следующим образом:
require 'minitest/autorun'
class OutputTest < MiniTest::Test
def test_output_stdout
assert_output(/Test/, '') {puts 'Test'}
end
def test_output_stderr
assert_output('', /Test/) {STDERR.puts 'Test'}
end
end
И это дает мне ошибку:
1) Failure:
OutputTest#test_output_stderr [test/assert_test.rb:9]:
In stderr.
Expected /Test/ to match "".
2 runs, 4 assertions, 1 failures, 0 errors, 0 skips
F rom assert_output
documentation Второй аргумент этого метода - шаблон для проверки STDERR, но он не работает. Что я сделал не так?
Вместо 'STDERR.puts' вы можете использовать просто' warn', который должен работать. – sschmeck