控制台.log在Karma AngularJS方法测试中
console.log in karma angularjs method testing
我有点困惑为什么我要undefined
作为我正在测试的函数的返回值。
这是我正在测试的功能:
$scope.entityItemsIntoObjectChecked = function (entityItems) {
newEntityWithChecked = entityItems.map(function (value) {
return { "val": value, "checked": false };
});
shareDataService.setEntityArray(newEntityWithChecked);
}
和我的测试套件的一部分:
it("should arrange an array into ovject with extra value for entities + depots", inject(function (shareDataService) {
var dummyEntityArray = ["ent1", "ent2", "ent3"];
var expectedObjectArray = [{ val: "ent1", checked: false }, { val: 'ent2', checked: false }, { val: 'ent3', checked: false }];
expect(mainScope.entityItemsIntoObjectChecked).toBeDefined();
mainScope.entityItemsIntoObjectChecked(dummyEntityArray);
console.log(mainScope.entityItemsIntoObjectChecked(dummyEntityArray))
}))
我希望行console.log(mainScope.entityItemsIntoObjectChecked(dummyEntityArray))
根据我之前在行mainScope.entityItemsIntoObjectChecked(dummyEntityArray);
上传入的数组dummyEntityArray
输出我的数组
但我在控制台上得到了undefined
.log。 这是为什么呢?
您的 $scope.entityItemsIntoObjectChecked
方法不返回任何内容,因此返回值将undefined
。
可以从方法返回newEntityWithChecked
数组,也可以监视shareDataService.setEntityArray
方法以验证是否正在传递预期的数组。
您可以在此处阅读有关间谍的文档:http://jasmine.github.io/2.0/introduction.html#section-Spies
相关文章:
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 测试角度解析方法
- 如何在ember单元测试中模拟_super()方法
- Jasmine单元测试在监视服务方法时失败
- jQuery-有没有一种方法可以测试函数是否异步
- 在另一个项目中使用大理石测试rxjs5方法
- 用jasmine测试JavaScriptUI的最佳方法
- 如何测试只在闭包范围中可见的javascript方法
- 如何用mocha和rewire模拟node.js单元测试中的Q方法
- 在JavaScript / jQuery中,是否有一种更短的方法可以编写在同一个测试变量上具有许多OR的“if”语句
- 测试React组件内部的fetch()方法
- 为什么不'我的角度测试$scope上定义了方法
- 测试变量是否为数组的最佳方法
- Sinon-带有回调的存根函数-导致测试方法超时
- 控制台.log在Karma AngularJS方法测试中
- JQuery 插件错误:对象 [对象对象] 没有方法“测试”
- jQuery GET 方法测试执行
- regex没有方法测试
- Javascript切片方法测试问题
- 基于HTML5 dom方法测试功能