javascript - Angularjs 中始终为真的测试失败——Karma

标签 javascript angularjs gruntjs jasmine karma-runner

我一生都无法弄清楚这一点,但我在让我的测试在我正在处理的 Angular 应用程序上正确运行时遇到了严重的问题。我正在使用 karma 来运行 Jasmine 测试,而我遇到的问题是我的单元测试。我不确定哪里出了问题,但我无法通过某些单元测试。他们过去都很好,但我一直无法弄清楚问题出在哪里,但似乎我的 Controller 没有被加载到 karma/jasmine 中。

这是我的 karma.conf.js 文件:

// Karma configuration
// http://karma-runner.github.io/0.12/config/configuration-file.html
// Generated on 2014-09-26 using
// generator-karma 0.8.3

module.exports = function(config) {
'use strict';

config.set({
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,

// base path, that will be used to resolve files and exclude
basePath: '../',

// testing framework to use (jasmine/mocha/qunit/...)
frameworks: ['jasmine'],

// list of files / patterns to load in the browser
files: [
  'bower_components/angular/angular.js',
  'bower_components/angular-mocks/angular-mocks.js',
  'bower_components/angular-animate/angular-animate.js',
  'bower_components/angular-cookies/angular-cookies.js',
  'bower_components/angular-resource/angular-resource.js',
  'bower_components/angular-route/angular-route.js',
  'bower_components/angular-sanitize/angular-sanitize.js',
  'bower_components/angular-touch/angular-touch.js',
  'bower_components/jquery/dist/jquery.min.js',
  'app/scripts/*.js',
  'app/scripts/**/*.js',
  'test/mock/**/*.js',
  'test/spec/**/*.js'

],

// list of files / patterns to exclude
exclude: ['app/scripts/vendor.js'],

// web server port
port: 8080,

// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
browsers: [
  'Firefox'
],

// Which plugins to enable
plugins: [
  'karma-jasmine', 'karma-firefox-launcher', 'karma-coverage'
],

// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: false,

colors: true,

// level of logging
// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel: config.LOG_DEBUG,

// Uncomment the following lines if you are using grunt's server to run the tests
// proxies: {
//   '/': 'http://localhost:9000/'
// },
// URL root prevent conflicts with the site root
// urlRoot: '_karma_'
});
};

Package.json:

"devDependencies": {
    "grunt": "^0.4.1",
    "grunt-autoprefixer": "^0.7.3",
    "grunt-concurrent": "^0.5.0",
    "grunt-contrib-clean": "^0.5.0",
    "grunt-contrib-compass": "^0.7.2",
    "grunt-contrib-concat": "^0.4.0",
    "grunt-contrib-connect": "^0.7.1",
    "grunt-contrib-copy": "^0.5.0",
    "grunt-contrib-cssmin": "^0.9.0",
    "grunt-contrib-htmlmin": "^0.3.0",
    "grunt-contrib-imagemin": "^0.7.0",
    "grunt-contrib-jshint": "^0.10.0",
    "grunt-contrib-uglify": "^0.4.0",
    "grunt-contrib-watch": "^0.6.1",
    "grunt-coveralls": "^1.0.0",
    "grunt-filerev": "^0.2.1",
    "grunt-google-cdn": "^0.4.0",
    "grunt-karma": "^0.9.0",
    "grunt-karma-coveralls": "^2.5.2",
    "grunt-newer": "^0.7.0",
    "grunt-ngmin": "^0.0.3",
    "grunt-protractor-runner": "^1.1.4",
    "grunt-protractor-webdriver": "^0.1.8",
    "grunt-sauce-connect-launcher": "^0.3.0",
    "grunt-svgmin": "^0.4.0",
    "grunt-usemin": "^2.1.1",
    "grunt-wiredep": "^1.7.0",
    "jshint-stylish": "^0.2.0",
    "karma": "^0.12.16",
    "karma-chrome-launcher": "^0.1.4",
    "karma-coverage": "^0.2.6",
    "karma-firefox-launcher": "^0.1.3",
    "karma-jasmine": "^0.1.5",
    "karma-junit-reporter": "^0.2.2",
    "karma-phantomjs-launcher": "^0.1.4",
    "karma-safari-launcher": "^0.1.1",
    "karma-sauce-launcher": "^0.2.10",
    "load-grunt-tasks": "^0.4.0",
    "phantomjs": "^1.9.9",
    "protractor": "^1.3.0",
    "time-grunt": "^0.3.1"
  },
  "engines": {
    "node": ">=0.10.0"
  }

示例测试:

'use strict';

describe('Controller: NotifyCtrl', function () {

  // load the controller's module
  beforeEach(module('goodStewardApp'));

  var NotifyCtrl,
    scope;

  // Initialize the controller and a mock scope
  beforeEach(inject(function ($controller, $rootScope) {
    scope = $rootScope.$new();
    NotifyCtrl = $controller('NotifyCtrl', {
      $scope: scope
    });
  }));

  it('should attach a list of awesomeThings to the scope', function () {
    expect(true).toBe(true);
  });
});

日志输出:

minErr/<@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:78:5
    loadModules/<@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:3810:1
    forEach@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:323:7
    loadModules@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:3775:5
    createInjector@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:3715:3
    workFn@/Users/mthomas/Code/apps/pro-forma/bower_components/angular-mocks/angular-mocks.js:2142:9

    TypeError: scope is undefined in /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/slider.js (line 20)
    @/Users/mthomas/Code/apps/pro-forma/test/spec/controllers/slider.js:20:5

带有 LOG_DEBUG 的 Karma 输出:

Running "karma:unit" (karma) task
DEBUG [plugin]: Loading plugin karma-phantomjs-launcher.
DEBUG [plugin]: Loading plugin karma-jasmine.
DEBUG [plugin]: Loading plugin karma-firefox-launcher.
INFO [karma]: Karma v0.12.23 server started at http://localhost:8080/
INFO [launcher]: Starting browser Firefox
DEBUG [temp-dir]: Creating temp dir at /var/folders/n4/d26v17pn1sg45jvn1c29274c0000gn/T/karma-69625537
DEBUG [launcher]: /Applications/Firefox.app/Contents/MacOS/firefox-bin http://localhost:8080/?id=69625537 -profile /var/folders/n4/d26v17pn1sg45jvn1c29274c0000gn/T/karma-69625537 -no-remote
DEBUG [watcher]: Excluded file "/Users/mthomas/Code/apps/pro-forma/app/scripts/vendor.js"
DEBUG [watcher]: Excluded file "/Users/mthomas/Code/apps/pro-forma/app/scripts/vendor.js"
DEBUG [watcher]: Resolved files:
    /Users/mthomas/Code/apps/pro-forma/node_modules/karma-jasmine/lib/jasmine.js
    /Users/mthomas/Code/apps/pro-forma/node_modules/karma-jasmine/lib/adapter.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/angular-mocks/angular-mocks.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/angular-animate/angular-animate.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/angular-cookies/angular-cookies.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/angular-resource/angular-resource.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/angular-route/angular-route.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/angular-sanitize/angular-sanitize.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/angular-touch/angular-touch.js
    /Users/mthomas/Code/apps/pro-forma/bower_components/jquery/dist/jquery.min.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/app.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/amount.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/form.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/main.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/notify.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/slider.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/submit.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/tribute.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/services/donation.js
    /Users/mthomas/Code/apps/pro-forma/app/scripts/services/giftfold.js
    /Users/mthomas/Code/apps/pro-forma/test/mock/donationMock.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/amount.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/appSpec.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/form.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/main.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/notify.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/slider.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/submit.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/tribute.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/services/giftfold.js
    /Users/mthomas/Code/apps/pro-forma/test/spec/services/panepasser.js
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-mocks/angular-mocks.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-animate/angular-animate.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-cookies/angular-cookies.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-resource/angular-resource.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-route/angular-route.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-sanitize/angular-sanitize.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-touch/angular-touch.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/bower_components/jquery/dist/jquery.min.js"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/app/scripts"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/test/mock"
DEBUG [watcher]: Watching "/Users/mthomas/Code/apps/pro-forma/test/spec"
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-mocks/angular-mocks.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-animate/angular-animate.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-resource/angular-resource.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-cookies/angular-cookies.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-route/angular-route.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-sanitize/angular-sanitize.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/bower_components/angular-touch/angular-touch.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/bower_components/jquery/dist/jquery.min.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/app.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/mock/donationMock.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/amount.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/appSpec.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/services/donation.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/services/giftfold.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/amount.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/form.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/main.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/notify.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/slider.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/submit.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/tribute.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/services/giftfold.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/services/panepasser.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/controllers/form.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/controllers/main.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/controllers/notify.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/controllers/slider.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/controllers/submit.js" ignored. Already in the list.
DEBUG [watcher]: Add file "/Users/mthomas/Code/apps/pro-forma/test/spec/controllers/tribute.js" ignored. Already in the list.
DEBUG [web-server]: serving: /Users/mthomas/Code/apps/pro-forma/node_modules/karma/static/client.html
DEBUG [web-server]: serving: /Users/mthomas/Code/apps/pro-forma/node_modules/karma/static/karma.js
DEBUG [web-server]: upgrade /socket.io/1/websocket/z06OOVspj9-9RTFD7gAP
DEBUG [karma]: A browser has connected on socket z06OOVspj9-9RTFD7gAP
INFO [Firefox 32.0.0 (Mac OS X 10.10)]: Connected on socket z06OOVspj9-9RTFD7gAP with id 69625537
DEBUG [launcher]: Firefox (id 69625537) captured in 1.723 secs
DEBUG [karma]: All browsers are ready, executing
DEBUG [web-server]: serving: /Users/mthomas/Code/apps/pro-forma/node_modules/karma/static/context.html
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/node_modules/karma-jasmine/lib/jasmine.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/node_modules/karma-jasmine/lib/adapter.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/angular-mocks/angular-mocks.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/angular-animate/angular-animate.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/angular-cookies/angular-cookies.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/angular-resource/angular-resource.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/angular-route/angular-route.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/angular-sanitize/angular-sanitize.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/angular-touch/angular-touch.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/bower_components/jquery/dist/jquery.min.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/app.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/amount.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/form.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/main.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/notify.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/slider.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/submit.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/controllers/tribute.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/services/donation.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/app/scripts/services/giftfold.js
DEBUG [web-server]: serving: /Users/mthomas/Code/apps/pro-forma/test/mock/donationMock.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/amount.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/appSpec.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/form.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/main.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/notify.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/slider.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/submit.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/controllers/tribute.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/services/giftfold.js
DEBUG [web-server]: serving (cached): /Users/mthomas/Code/apps/pro-forma/test/spec/services/panepasser.js
Firefox 32.0.0 (Mac OS X 10.10) Controller: AmountCtrl Should create have a working controller FAILED
    minErr/<@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:78:5
    loadModules/<@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:3810:1
    forEach@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:323:7
    loadModules@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:3775:5
    createInjector@/Users/mthomas/Code/apps/pro-forma/bower_components/angular/angular.js:3715:3
    workFn@/Users/mthomas/Code/apps/pro-forma/bower_components/angular-mocks/angular-mocks.js:2142:9

    Expected undefined to be defined.
    @/Users/mthomas/Code/apps/pro-forma/test/spec/amount.js:23:5

slider .js:

   'use strict';

/**
 * @ngdoc function
 * @name goodStewardApp.controller:SliderCtrl
 * @description
 * # SliderCtrl
 * Controller of the goodStewardApp
 */
angular.module('goodStewardApp')
  .controller('SliderCtrl', function($scope, Donation) {

    $scope.donation = Donation;


    // set the default slide, and the upper and lower bounds so we know how many slides we have
    $scope.activeSlide = 0;
    var slidesUpperBound = 2;
    var slidesLowerBound = 0;

    $scope.moveSlide = function(direction) {
      if (direction === 'left') {
        if ($scope.activeSlide <= slidesUpperBound && $scope.activeSlide >
          slidesLowerBound) {
          $scope.activeSlide--;
        } else {
          $scope.activeSlide = 0;
        }
      } else if (direction === 'right') {
        if ($scope.activeSlide <= slidesUpperBound - 1) {
          $scope.activeSlide++;
        } else {
          // if we go too high, we return to zero
          $scope.activeSlide = 0;
        }

      }
    };

    // end slides logic


  });

来自浏览器中的 karma 调试运行器的示例内容:

"minErr/<@http://localhost:8080/base/bower_components/angular/angular.js:78:5
loadModules/<@http://localhost:8080/base/bower_components/angular/angular.js:3810:1
forEach@http://localhost:8080/base/bower_components/angular/angular.js:323:7
loadModules@http://localhost:8080/base/bower_components/angular/angular.js:3775:5
createInjector@http://localhost:8080/base/bower_components/angular/angular.js:3715:3
workFn@http://localhost:8080/base/bower_components/angular-mocks/angular-mocks.js:2142:9
jasmine.Block.prototype.execute@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:1145:7
jasmine.Queue.prototype.next_@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2177:7
jasmine.Queue.prototype.start@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2130:3
jasmine.Spec.prototype.execute@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2458:3
jasmine.Queue.prototype.next_@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2177:7
jasmine.Queue.prototype.start@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2130:3
jasmine.Suite.prototype.execute@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2604:3
jasmine.Queue.prototype.next_@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2177:7
jasmine.Queue.prototype.next_/onComplete@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2173:13
jasmine.Suite.prototype.finish@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2561:5
jasmine.Suite.prototype.execute/<@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2605:5
jasmine.Queue.prototype.next_@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2187:9
jasmine.Queue.prototype.next_/onComplete@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2173:13
jasmine.Spec.prototype.finish@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2432:5
jasmine.Spec.prototype.execute/<@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2459:5
jasmine.Queue.prototype.next_@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2187:9
jasmine.Queue.prototype.next_/onComplete/<@http://localhost:8080/base/node_modules/karma-jasmine/lib/jasmine.js:2167:13

我可以很好地测试应用程序的依赖项,但即使在始终为真的情况下,其他测试也不会通过。我试过降级 Angular 、清除缓存、确保包含我的所有文件(仍然是相同的错误)、更改调试级别,但没有任何效果。任何帮助都会很棒!谢谢!

最佳答案

从 karma conf 文件中取出 app/scripts/*.js

关于javascript - Angularjs 中始终为真的测试失败——Karma,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26068907/

相关文章:

javascript - 在 JavaScript 中对音频进行下采样

javascript - Vue.JS 2.0 在修改无关数据时变慢

javascript - 使用 GraphQL 查询从多语言模式获取本地化数据

javascript - 用于重复数据的 AngularJS rowspan

angularjs - i18n 使用 Angular Translate StaticFilesLoader

javascript - Handlebars 预编译模板未使用 Grunt.js 命名

javascript - 在 Protractor Selenium 中运行单一测试

node.js - Jasmine spy document.execCommand 未被调用

javascript - 如何获取图像的高度和宽度javascript

javascript - AngularJS - 使用下拉菜单填充输入文本字段