gpt4 book ai didi

javascript - 测试 Angular Controller 定义为 angular.module ('myApp' ).controller(

转载 作者:行者123 更新时间:2023-11-29 19:56:52 25 4
gpt4 key购买 nike

我正在玩弄 https://github.com/angular/angular-seed

Controller 在 app/controllers.js 中是这样定义的

'use strict';
function MyCtrl1() {}
MyCtrl1.$inject = [];

这不会通过 jshint,因为在 app/app.js 中引用了 MyCtrl1 而不是在我的全局列表中。

根据 Brian Ford和其他人我读过的首选风格是

angular.module('myApp').controller('MyCtrl1', [], function () {});

我更喜欢这个,因为它不在全局范围内,但现在我的睾丸规范失败了,因为它不再起作用了:

var myCtrl1;
beforeEach(function(){
myCtrl1 = new MyCtrl1();
});

我如何获得对这个以“首选”样式定义的用于测试目的的 Controller 的引用?

最佳答案

归功于 Javito 和 Xesued:

beforeEach(module('myApp'));
var scope, ctrl;
beforeEach(inject(function($controller, $rootScope) {
scope = $rootScope.$new();
ctrl = $controller('MyCtrl1', {$scope: scope});
}));

关于javascript - 测试 Angular Controller 定义为 angular.module ('myApp' ).controller(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com