Дэн, я считаю, что вам действительно нужно просто протестировать действия контроллера. С точки зрения тестировщика, вам следует беспокоиться не о том, что он на самом деле вызывает, а о выходе, учитывая конкретный ввод и возможно некоторые другие особые условия (то есть имитацию или подстановку других классов) (1).
Вы можете проверить официальную документацию для Sinatra + Rack :: Test или это сообщение в блоге devver.net .
(1): Если ваши страницы контроллера вызывают какие-то другие классы (модели, службы и т. д.), вы можете вместо этого имитировать их и возлагать на них ожидания. Например:
SomeClass.should_receive(:msg).with(:arg).and_return(:special_value)
Дополнительную информацию о насмешках (с RSpec в этом примере) можно найти на страницах документации RSpec .
и т. д.), вы могли бы вместо этого издеваться над ними и возлагать на них ожидания. Например:SomeClass.should_receive(:msg).with(:arg).and_return(:special_value)
Дополнительную информацию о насмешках (с RSpec в этом примере) можно найти на страницах документации RSpec .
и т. д.), вместо этого вы можете издеваться над ними и возлагать на них ожидания. Например:SomeClass.should_receive(:msg).with(:arg).and_return(:special_value)
Дополнительную информацию о насмешках (с RSpec в этом примере) можно найти на страницах документации RSpec .