javascript - 将范围添加到 Angular-Seed 默认 View Controller 时,测试套件现在失败

标签 javascript angularjs karma-jasmine angular-seed

使用 angular-seed 的新克隆我正在尝试一些 BDD 并添加了以下测试和代码。但是,一旦我将 $scope 添加到 Controller ,该套件就会在 expect(view1Ctrl).toBeDefined(); 预期上失败。

下面是我所做的唯一添加,它会导致 Karma 运行时出现明显的失败。

app/view1/view1.js

.controller('View1Ctrl', ['$scope', function($scope) {
  $scope.name = "Name";
}]);

最佳答案

在您的测试(view1_test.js)中,您需要将 $scope 注入(inject) Controller ...

    describe('myApp.view1 module', function() {

  beforeEach(module('myApp.view1'));

  describe('view1 controller', function(){

    it('should ....', inject(function($controller, $rootScope) {
      //spec body
      var $scope = $rootScope.$new();
      var view1Ctrl = $controller('View1Ctrl', {$scope: $scope});
      expect(view1Ctrl).toBeDefined();
    }));

  });
});

关于javascript - 将范围添加到 Angular-Seed 默认 View Controller 时,测试套件现在失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29043433/

相关文章:

javascript - 在 VSCode 扩展中使用 JavaScript DOM

javascript - 处理修复数据集的最佳方法

angularjs - 无法通过 npm 安装 gulp-jshint

angularjs - 如何在基于 Angular 组件的架构中处理对话框

javascript - Angular JS 驳回 $modalInstance : undefined is not a function

javascript - 将 JSON 中的 HTML 作为 Assemble 中的数据传递

html - Angularjs:单个 html 中的多个部分?

Angular 6.0 和 Karma Jasmine - 浏览器在测试完成后关闭

angular - Jasmine stub 函数导致类型错误 "... is not a function"

Javascript 相等运算符