Karma跳过一些测试没有错误或xdescribe或xit

时间:2017-05-15 21:59:09

标签: angularjs unit-testing karma-runner

我有一堆完全被忽略的测试。 我还在项目的任何地方寻找fdescribefitxdescribexitddescribeiit,但没有任何剩余。我只有一些xit但不多。

它似乎忽略了我的/ modules /文件夹中的所有测试,但它似乎并不是由于配置错误导致的,因为如果我在其中一些上使用fdescribe那些正确执行。无论如何,如果您有兴趣,这是我的karma.conf.js:

'use strict';

const stringify = require('stringify');
const babelify = require('babelify');

module.exports = (config) => {
  config.set({
    basePath: '',

    frameworks: ['browserify', 'jasmine'],

    files: [
      'node_modules/jquery/dist/jquery.min.js',
      'node_modules/angular/angular.js',
      'node_modules/angular-route/angular-route.min.js',
      'node_modules/angular-permission/dist/angular-permission.js',
      'node_modules/angular-permission/dist/angular-permission-ng.js',
      'node_modules/angular-sanitize/angular-sanitize.min.js',
      'node_modules/angular-messages/angular-messages.min.js',
      'node_modules/angular-mocks/angular-mocks.js',
      'src/apps/publiques/app-publiques.module.js',
      'src/apps/publiques/bootstrap-test.js',
      'src/**/*.spec.js'
    ],

   // the only folder that is excluded is correctly excluded
    exclude: [
      'src/modules/data-table/**/*.spec.js'
    ],

    preprocessors: {
      'src/apps/publiques/app-publiques.module.js': 'browserify',
      'src/apps/publiques/bootstrap-test.js': 'browserify',
      'src/**/*.spec.js': 'browserify',
    },

    browsers: ['PhantomJS'],

    plugins: [
      'karma-phantomjs-launcher',
      'karma-jasmine',
      'karma-browserify',
      'karma-coverage',
      'karma-mocha-reporter',
      'karma-narrow-reporter',
      'karma-jasmine-diff-reporter',
      'karma-spec-reporter',
    ],

    browserify: {
      debug: true,
      transform: [
        babelify,
        stringify,
      ],
    },

    reporters: [
      'jasmine-diff',
      // 'progress',
      // 'mocha',
      'narrow',
      // 'spec'
    ],

    specReporter: {
      maxLogLines: 5,             // limit number of lines logged per test
      suppressErrorSummary: false, // do not print error summary
      suppressFailed: false,      // do not print information about failed tests
      suppressPassed: false,      // do not print information about passed tests
      suppressSkipped: true,      // do not print information about skipped tests
      showSpecTiming: true,      // print the time elapsed for each spec
      failFast: true            // test would finish with error when a first fail occurs.
    },

    mochaReporter: {
      colors: {
        success: 'green',
        info: 'blue',
        warning: 'yellow',
        error: 'bgRed',
      },
      symbols: {
        success: '+',
        info: '#',
        warning: '!',
        error: 'x',
      },
      output: 'full',
    },

    phantomjsLauncher: {
      exitOnResourceError: true,
    },

    port: 9876,
    logLevel: config.LOG_DEBUG,
    singleRun: true,
    colors: true,
    autoWatch: false,
  });
};

业力日志的结束是

PhantomJS 2.1.1 (Windows 7 0.0.0) LOG: 'WARNING: Tried to load angular more than once.'
PhantomJS 2.1.1 (Windows 7 0.0.0): Executed 177 of 637 (skipped 10) SUCCESS 
(0.858 secs / 0.82 secs)
[17:51:39]  Karma Run Complete: No Failures

1 个答案:

答案 0 :(得分:0)

事实证明我必须在之前嵌套某些内容,如跟随

describe('publiques-demandes-modifier.controller', () => {
  beforeEach(() => {
    angular.mock.module(app);

    // mock window pour le test submitRedirect
    const windowObj = { location: { href: '' } };

    beforeEach(angular.mock.module(($provide) => {
      $provide.value('$window', windowObj);
    }));
    angular.mock.inject((

我通过使用mocha记者并逐个跳过最后执行的测试来找到负责人。