首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >业力茉莉TypeError: this.ngRedux.getState不是一个函数

业力茉莉TypeError: this.ngRedux.getState不是一个函数
EN

Stack Overflow用户
提问于 2017-09-10 15:55:45
回答 1查看 665关注 0票数 1

我试图在我的一个模块上运行一个测试,该模块处理ngRedux。在运行测试时,我得到了

TypeError: this.ngRedux.getState不是一个函数

测试im运行是一个简单的

代码语言:javascript
复制
it("should create component:", () => {
    expect(comp).toBeDefined();
});

package.json

代码语言:javascript
复制
"redux": "^3.6.0",
"redux-logger": "^2.6.1",
"redux-observable": "^0.12.2",
"karma": "^1.7.1",
"karma-chrome-launcher": "^2.2.0",
"karma-coverage": "^1.1.1",
"karma-jasmine": "^1.1.0",
"karma-mocha-reporter": "^2.2.4",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.4",
"@angular/core": "4.3.6",

组件代码

代码语言:javascript
复制
 ...
let roleKinds = _.get(this.ngRedux.getState(), 'auth.user.Role', [])
        .filter(roleName => roles.indexOf(roleName) != -1);
...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-11 09:43:49

在这个伟大的帖子用Mocks & Spies进行测试中找到了我的答案

更新

添加我的固定代码

代码语言:javascript
复制
 let spySomeService = {
    getData: () => {
    },
    getUserRole: () => {
    }
}

providers: [...
            {provide: SomeService, useValue: spySomeService},

 it("should create component:", () => {
    spyOn(spySomeService, 'getUserRole').and.returnValue("OK");
    expect(comp).toBeDefined();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46142636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档