我在角应用程序中使用"控制器为"语法.现在是测试的时候了,但所有的例子都是注入$ scope的控制器.我如何调用"this.addItem"方法并检查它是否在Jasmine测试中向"this.items"添加了一个项目?
(function () {
"use strict";
angular.module('myModule', ['factoryModule'])
.controller('MyController', function (myFactory) {
this.items = [];
this.selectedItem = null;
this.addItem = function (itemType) {
var item = myFactory.create(itemType);
this.items.push(trigger);
this.selectedItem = item;
};
this.removeItem = function (item) {
this.items.splice(this.items.indexOf(item), 1);
};
});
})();
Run Code Online (Sandbox Code Playgroud) 使用phantomjs运行测试时,我将控制台消息记录两次,如:
PhantomJS 1.9.7(Windows 8)日志:'myNavigation loading ...'
日志:'myNavigation loading ...'
但是当在chrome中运行时,我的输出就像:
Chrome 37.0.2062(Windows 8.1)日志:'myNavigation loading ...'.
(这里没有重复记录)
我猜第二个日志来自点记者,所以是否有机会轻松关闭第二个控制台输出,以便只有浏览器可以记录?
这是我的业力配置的一部分:
reporters: ['trx', 'dots'],
browsers: ['PhantomJS', 'Chrome'],
Run Code Online (Sandbox Code Playgroud)