2015-07-31 3 views
2

Я выполняю тесты огурца в Capybara с помощью Poltergeist, и я вижу ошибку PhantomJS для Function.prototype.bind в некоторых моих тестах. (Прокладка не работает по какой-то причине.) Я хотел бы подавить выход из фантома.Подавление вывода ошибки PhantomJS

Я попытался

Capybara.register_driver :poltergeist do |app| 
    options = { 
    :debug => false, 
    :js_errors => false, 
    :phantomjs_options => ['--debug=no'], 
    } 
    Capybara::Poltergeist::Driver.new(app, options) 
end 

, но я до сих пор вижу StackTrace. Есть ли другой способ сообщить фантому, что я не хочу видеть никаких исключений в STDOUT?

ответ

1

Я в конечном итоге решить, установив: phantomjs_logger в Logger.new («/ Dev/нуль»)

Ну, по-видимому демпинг вывод нуль делает полтергейст таймаут много.

Использование StringIO.new действительно работает.

+0

Скорее всего, 'StringIO.new' собирается накапливать память (принимать все больше и больше). Если у вас есть что-то долгое время, вы можете предпочесть что-то по строкам: 'Class.new do def puts s; конец end.new'. Кроме того, вам может потребоваться установка опции «logger». –

Смежные вопросы