2015-05-14 4 views
3

Мой проект построен на Django и Angular.
Я использую транспортир с огурцом и chai как мой тест e2e.
И использование «охвата хрюк-транспортир» для сообщения о покрытии кода. У меня есть вопрос здесь, что если я использую жасмин в качестве рамки транспортира, когда я запускаю «тест на ворчание», все в порядке. Но когда я использую огурец, происходит ошибка.Как получить покрытие транспортира с огурцом

 
[launcher] Process exited with error code 1 
/Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/node_modules/q/q.js:126 
        throw e; 
         ^
Error: Spec patterns did not match any files. 
    at Runner.run (/Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/lib/runner.js:249:11) 
    at TaskRunner.run (/Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/lib/taskRunner.js:123:19) 
    at createNextTaskRunner (/Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/lib/launcher.js:220:20) 
    at /Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/lib/launcher.js:243:7 
    at _fulfilled (/Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/node_modules/q/q.js:797:54) 
    at self.promiseDispatch.done (/Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/node_modules/q/q.js:826:30) 
    at Promise.promise.promiseDispatch (/Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/node_modules/q/q.js:759:13) 
    at /Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/node_modules/q/q.js:573:44 
    at flush (/Users/paizanmay/Documents/ichef/Superadmin2.0/node_modules/protractor/node_modules/q/q.js:108:17) 
    at process._tickCallback (node.js:355:11) 

Я действительно не знаю, как решить эту проблему
Is "функции: [ 'функции/store_id_admin.feature']," бесполезный в "хрюкать-транспортир-покрытия"?

ТНХ

ответ

2

Он не похож на пехотинец-транспортир охват был разработан для работы с CucumberJS. Хотя мне удалось заставить его прочитать мой список спецификаций (я переместил protractor.conf.js в корень моего приложения и указали полные пути), плагин ожидает, что спецификации будут написаны как JavaScript, чтобы их можно было переписать для сбора/push-данных покрытия назад. Когда ваши тесты запускают небольшую услугу, запускаются в фоновом режиме (cover-collector) для сопоставления данных покрытия из каждого сценария.

В теории CucumberJS также предоставляет аналогичные крючки, которые могут быть указаны вместе с определениями ступенчатых для записи данных из window.__coverage__ объекта после каждого признака/шага: https://github.com/cucumber/cucumber-js#after-hooks

(Вы можете увидеть шаблон, используемый для записи данных покрытия для сборщик здесь: https://github.com/r3b/grunt-protractor-coverage/blob/master/resources/saveCoverage.tmpl)

Возможно, возможно добавить опцию плагина, чтобы остановить его, пытаясь разобрать/изменить файлы спецификаций и получить данные о покрытии.


Обновление: Я сделал некоторые хитрости, чтобы хрюкать-транспортир-покрытие на моем Github вилке (https://github.com/gazoakley/grunt-protractor-coverage). Есть запрос на извлечение, чтобы вернуть его к фактическому охвату трамплина-транспортира: https://github.com/r3b/grunt-protractor-coverage/pull/44