Код покрытия с использованием карма-жасмина и ионной - PullRequest
0 голосов
/ 26 марта 2019

Я разрабатываю приложение с использованием Ionic.Мне нужно сделать юнит-тесты.Я использую карму и жасмин.Моя проблема в том, что это мое первое приложение с использованием ионных.Я уже разработал какое-то приложение с использованием Angular, и у меня никогда не возникало проблем с модульными тестами.

Когда я запускаю эту команду (находится на этом сайте ):

karma start ./test-config/karma.conf.js --coverage

Myпокрытие пустое (я имею в виду, 0% на каждый файл), пока выполняются модульные тесты (был создан репортер html и т. д.)

Вот мой karma.conf.js

var webpackConfig = require('./webpack.test.js');
const path = require('path');

module.exports = function (config) {
    var _config = {
        basePath: '../',

        frameworks: ['jasmine'],
        plugins: [
            require('karma-chrome-launcher'),
            require('karma-webpack'),
            require('karma-sourcemap-loader'),
            require('karma-jasmine-html-reporter'),
            require('karma-jasmine'),
            require('karma-coverage-istanbul-reporter'),
            require('karma-coverage'),
            require('karma-spec-reporter')
        ],
        files: [
            {
                pattern: './test-config/karma-test-shim.js',
                watched: true
            },
            {
                pattern: './src/assets/**/*',
                watched: false,
                included: false,
                served: true,
                nocache: false
            }
        ],

        proxies: {
            '/assets/': '/base/src/assets/'
        },

        preprocessors: {
            './test-config/karma-test-shim.js': ['webpack', 'sourcemap'],
            './test-config/*.js': ['coverage']
        },
        webpack: webpackConfig,

        webpackMiddleware: {
            stats: 'errors-only'
        },

        webpackServer: {
            noInfo: true
        },

        browserConsoleLogOptions: {
            level: 'log',
            format: '%b %T: %m',
            terminal: true
        },

        coverageIstanbulReporter: {
            reports: ['html', 'lcovonly', 'text-summary'],
            type: 'text',
            dir: path.join(__dirname, 'coverage'),
            file: 'coverage.txt',
            'report-config': {
                html: {
                    subdir: 'html',
                    date: Date()
                },
                lcovonly: {
                    file: 'coverage.lcov'
                },
                combineBrowserReports: true,
                skipFilesWithNoCoverage: false,
                fixWebpackSourcePaths: true
            }
        },
        reporters: ['coverage-istanbul', 'spec'],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browserDisconnectTimeout: 10000,
        browserDisconnectTolerance: 3,
        browserNoActivityTimeout: 60000,
        flags: [
          '--disable-web-security',
          '--disable-gpu',
          '--no-sandbox'
        ],
        browsers: ['Chrome_no_sandbox'],
        customLaunchers: {
            Chrome_no_sandbox: {
                base: 'Chrome',
                flags: ['--no-sandbox', '--headless', '--disable-gpu', '--remote-debugging-port=9222', '--signe-un']
            }
        },
        singleRun: true
    };

    config.set(_config);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...