2014-10-13 2 views
0

У меня есть приложение CLI, которое использует жемчужину thor.отключить предупреждения при тестировании thor CLI

Мои тесты проходят, а потому, что я тестирую каталог API, я получаю много предупреждений:

All examples were filtered out; ignoring {:focus=>true} 
....... 
[WARNING] Attempted to create command "__email_dir?_without_any_instance__" without usage or description. 
Call desc if you want this method to be available as command or declare it inside a no_commands{} block. 
Invoked from "/Users/julieng/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rspec-mocks-3.1.2/lib/rspec/mocks/any_instance/recorder.rb:211:in `alias_method'". 

У меня есть ENV['RACK_ENV']='test' в моем spec_helper.rb файл, который в соответствии с SO поиск, должен был помочь ,

Я нашел некоторые другие потоки SO (example), но я не тестирую входные данные, просто вызываю API-методы напрямую.

Это просто раздражает. Любые идеи о том, как его решить?

Благодаря

ответ

0

Это немного дробовика подхода, но когда я действительно хочу, чтобы подавить сообщение хлама из командной строки и сохранить результаты теста в чистоте, в моих тестах я просто гашу $stdout сек выходной поток, например:

describe CLI do 
    before do 
    allow($stdout).to receive(:write) 
    end 

    # your tests here ... 
end 
+1

Спасибо, это сработало красиво. Я также обращаюсь только к спецификациям CLI в соответствии с вашим примером. Ура! –

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