Как отобразить ввод тех ожиданий, которые были неверными? - PullRequest
0 голосов
/ 08 ноября 2011

Я тестирую метод статического класса, передавая в него много разных входных данных.Поскольку каждый вход достаточно велик, я где-то сохранял список и передавал каждый метод в цикле.

Однако я понимаю, что ошибки не отображают входные данные для этих методов, что затрудняет отладку.Есть ли способ отобразить это вместо этого?

1 Ответ

2 голосов
/ 08 ноября 2011

Возможно, вы могли бы пометить входы (например, в хэше) и использовать метки для создания заголовков примеров, чтобы вы знали, какой вход дал неожиданные результаты?

* 1003 Е.Г. *

INPUTS = {
  "returns an error when input is too big" => { :input => ..., :output => ... },
  "returns an error when input too small" => { :input => ..., :output => ... },
  "returns a pony when input is just right" => { :input => ..., :output => ... },
}

INPUTS.each do |title, bundle|
  it title do
    StaticClass.method(bundle[:input]).should == bundle[:output]
  end
end

Этот пример глупый; очевидно, вы захотите загрузить свои данные из yaml-файлов или чего-то еще, но я был слишком ленив, чтобы добавить демо-код для этого. Dir.glob.somethingorother. : -)

Кроме того, обратите внимание, что проблема, которую вы пытаетесь решить, является неотъемлемой проблемой в тестах на основе приборов; Вы должны посмотреть где-нибудь за пределами примера кода, чтобы увидеть, что делал пример кода. Если вам удастся избежать испытаний, проводимых прибором, я рекомендую вам это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...