加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Karma测试:TypeError:尝试分配到只读属性

发布时间:2020-12-17 09:16:34 所属栏目:安全 来源:网络整理
导读:当我试图对我的控制器进行单元测试时,我收到错误.当我调试测试用例的期望值时,我得到了预期值,但是它的失败与下面的错误.我在这里丢失了什么,或者我正在测试一个错误的控制器变量方式? 我的规范文件在下面 'use strict';describe('Information.controller',
当我试图对我的控制器进行单元测试时,我收到错误.当我调试测试用例的期望值时,我得到了预期值,但是它的失败与下面的错误.我在这里丢失了什么,或者我正在测试一个错误的控制器变量方式?

我的规范文件在下面

'use strict';
describe('Information.controller',function () {
beforeEach(angular.mock.module('asp'));
var InformationController,scope;

beforeEach(inject(function($controller,$rootScope) {
    scope = $rootScope.$new();
    InformationController = $controller('InformationController',{
        $scope: scope
    });
}));

fit('Should remove the object without info from the  object',function () {
    InformationController.Data = [
        {
            "ban": "03745645455","accountNo": "0000drgyt456456565","id": "2c4cc5e8-f360367"
        },{
            "ban": "27346fgh9080","accountNo": "000456456ytr655680","id": "2c4cc8ae-50bbf360367"
        }
    ];
    InformationController.banList = InformationController.Data.map((value,index) => (value && value.ban ? {'id': index,'text': value.ban} : null))
    .filter(value => value);
    expect(InformationController.banList.length).toBe(3);
});
});
readonly错误是由scope.page(在我的InformationController中)未定义引起的,然后代码正在尝试将属性分配给undefined.Hise修改的beforeEach块如下所示
beforeEach(inject(function ($controller,$rootScope) {
        scope = $rootScope.$new();
        scope.page3 = {};
        InformationController = $controller('InformationController',{
            $scope: scope
        });
    }));

这解决了这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读