Karma-Jasmine TypeError: this.ngRedux.getState is not a function
Karma-Jasmine TypeError: this.ngRedux.getState is not a function
我正在尝试 运行 对我的一个处理 ngRedux 的模块进行测试。
运行测试时,我得到
TypeError: this.ngRedux.getState is not a function
测试im 运行ning很简单
it("should create component:", () => {
expect(comp).toBeDefined();
});
package.json
"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",
组件代码
...
let roleKinds = _.get(this.ngRedux.getState(), 'auth.user.Role', [])
.filter(roleName => roles.indexOf(roleName) != -1);
...
在这个很棒的 post Testing with Mocks & Spies
中找到了我的答案
更新
添加我的固定代码
let spySomeService = {
getData: () => {
},
getUserRole: () => {
}
}
providers: [...
{provide: SomeService, useValue: spySomeService},
it("should create component:", () => {
spyOn(spySomeService, 'getUserRole').and.returnValue("OK");
expect(comp).toBeDefined();
});
我正在尝试 运行 对我的一个处理 ngRedux 的模块进行测试。 运行测试时,我得到
TypeError: this.ngRedux.getState is not a function
测试im 运行ning很简单
it("should create component:", () => {
expect(comp).toBeDefined();
});
package.json
"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",
组件代码
...
let roleKinds = _.get(this.ngRedux.getState(), 'auth.user.Role', [])
.filter(roleName => roles.indexOf(roleName) != -1);
...
在这个很棒的 post Testing with Mocks & Spies
中找到了我的答案更新
添加我的固定代码
let spySomeService = {
getData: () => {
},
getUserRole: () => {
}
}
providers: [...
{provide: SomeService, useValue: spySomeService},
it("should create component:", () => {
spyOn(spySomeService, 'getUserRole').and.returnValue("OK");
expect(comp).toBeDefined();
});