2016-08-09 5 views
3

Я не уверен, что я знаю, что Стамбул настроен.Как настроить покрытие кода в Стамбуле с помощью Angular 2 CLI?

Все учебные пособия проверяют только один или два файла. Как настроить его, чтобы он тестировал всю вашу базу кода? Я понимаю это неправильно?

+0

Какую тестовую структуру вы используете для написания тестов? –

+0

ну, я думаю, угловой-cli @ webpack содержит покрытие кода. позвольте мне попытаться сообщить вам. – user1354934

ответ

2

Не видя, что именно вы собираетесь, я могу показать вам мой karma.conf, который в настоящее время показывает покрытие коды (хотя я не получил его на работу с машинописью только пока):

config.set({ 
    basePath: "./", 
    frameworks: ["jasmine"], 
    files: [    
     //load files here, including your spec and source files 
    ], 
    // Other settings... 
    browsers: ["PhantomJS"], 
    plugins: [ 
     "karma-jasmine", 
     "karma-coverage", //<-- using karma-coverage for code coverage 
     "karma-chrome-launcher", 
     "karma-phantomjs-launcher" 
    ], 
    // Coverage reporter generates the coverage 
    reporters: ["progress", "coverage"], //<-- reporter for code coverage 
    // Source files that you wanna generate coverage for. 
    // Do not include tests or libraries (these files will be instrumented by Istanbul) 
    preprocessors: { 
     "test/bin/js/app/**/!(*spec).js": ["coverage"] //<-- coverage pre-process 
    }, 
    // Generate the code coverage report (lots of formats available) 
    coverageReporter: { 
     reporters:[ 
      { type: "html", dir: "./test/bin", subdir: "coverage/html" } 
     ] 
    }, 
    singleRun: true 
}) 

В вашем package.json, включают "karma-coverage": "1.1.1" как devDependency

Хотелось бы надеяться, что указывает вам в правильном направлении, по крайней мере.

+0

спасибо, что это действительно полезно! позвольте мне попробовать angular-cli @ webpack, у него есть покрытие кода, встроенное в i думаю. – user1354934

+3

Я использую angular-cli 1.0.0-beta.24 и создаю покрытие, запустив 'ng test -code-coverage'. Он охватывает все, на что я пишу тесты. Однако он также включает в себя покрытие для polyfills.ts и test.ts, которые я не хочу, но затем пропускает покрытие для любых файлов, которые не имеют тестов, то есть они должны быть покрыты 0%, но они просто отсутствуют из результатов покрытия , – EdL