2016-05-06 2 views
1

Я пытался включить функцию загрузки для моего отчета о покрытии. Мой инструмент для создания этого отчета является karma-coverage и сгенерировать этот отчет в следующей папке: тест/покрытия/HTML-отчетМне нужно включить функцию загрузки в стеке в моем отчете о тестировании покрытия

-test 
| 
|-- coverage 
    | 
    |-- report-html 
     | 
     |-- index.html 

Когда отчет был сгенерирован я использую grunt-contrib-connect и служить сгенерированный отчет с помощью следующее:

var COVERAGE_BASE = './test/coverage/report-html', 

    ... 
    ... 
    ... 
    connect: { 
     server: { 
     options: { 
      port: 9000, 
      base: '.', 
      open: false 
     } 
     }, 
     dist:{ 
     options: { 
      keepalive: true, 
      port: 9000, 
      base: './dist', 
      open: false 
     } 
     }, 
     coverage: { 
     options: { 
      keepalive: true, 
      port: 9001, 
      base: COVERAGE_BASE , 
      open: false 
     } 
     } 
    } 

Когда я исполняю мою задачу grunt coverage, мой configuraton это

COVERAGE_TASKS = ['shell:test','open:coverage', 'connect:coverage','watch']; 

grunt.registerTask('coverage', COVERAGE_TASKS); 

Моя идея это «перехватывают» index.html и ввести скрипт для LiveReload

<script src="//localhost:35729/livereload.js"></script> 

Exist каким-то образом перехватывать index.html, прежде чем служить с пакетом подключения, а затем обработать для добавления этого сценария?

ответ

0

Может быть, это поможет: вы можете добавить среднюю посуду, которую можно использовать для перехвата запроса на ваш сервер подключения, как это:

grunt.initConfig({ 
 
    connect: { 
 
    server: { 
 
     options: { 
 
     middleware: [ 
 
      function myMiddleware(req, res, next) { 
 
      
 
      // DO YOUR THING HERE!!!! 
 
      res.end('Hello, world!'); 
 
      } 
 
     ], 
 
     }, 
 
    }, 
 
    }, 
 
});

+0

Спасибо за ваш ответ. Как я прочитал index.html в этой службе? это часть аргумента 'res'? –

+0

Нет, вам может понадобиться использовать модуль nodejs fs, чтобы открыть html и заменить то, что вы хотите, и обслуживать его – AJS

+0

https://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback – AJS