2012-02-03 3 views
2

Фон: работает Rails 3.2, Cucumber 1.1.4 и SimpleCov 0.5.4.SimpleCov не покрывает внутри def/методы

У нас есть все наши спецификации огурцов, и код должен быть покрыт. Но странно то, что когда мы проверяем отчет о покрытии огурца, созданный SimpleCov, фактический код внутри методов/def НЕ покрывается вообще. Ни один из методов не распространяется. Незнакомец - это имена классов, имена модулей, декларации доступа.

Таким образом, в этом примере, строки 01, 02, 03, 07 показаны как покрыты, но не 04, 05, 08, 09.

01 class Summary 
02 attr_accessor :jobs 
03 def initialize (events) 
04 @events = events 
05 createJobs 
06 end 
07 def createJobs 
08 code here 
09 code here 
10 end 
11 end 

Любая помощь будет так высоко ценится!

Спасибо.

+0

Имена классов, имена модулей и декларации доступа рассматриваются в том смысле, что они разбираются, когда первый класс загружается в первый раз. Если вы создаете класс, а затем запускайте тесты, которые ничего не делают, кроме загрузки класса, вы увидите то же самое. Нет идеи по основной части вашего вопроса ... –

+0

@MarcTalbot - спасибо за информацию. Итак, мой охват в основном равен 0, учитывая, что определения охвачены даже без спецификаций. –

ответ

2

Думаю, теперь я знаю, что происходит. Мои функции/шаги огурца НЕ тестируют код напрямую, но проверяют через браузер (используя capybara). Таким образом, покрытие может не выполняться через код (контроллер/модели).

Если это правда, есть ли лекарство? Я не хочу/должен иметь контроллер/модель, упомянутую в моем огурце ... скорее, это тестирование с точки зрения пользователя (браузера).

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

  • Нет связанных вопросов^_^