我是 Angular 单元测试用例编写的初学者。我想为以下代码段编写一个单元测试用例。我该怎么写。
<块引用>this.ngRedux.getState().message.data
答案 0 :(得分:0)
根据这个@ngrx page,我会选择:
store = TestBed.inject(MockStore);
store.getState().message.data
describe('Auth Guard', () => {
let guard: AuthGuard;
let store: MockStore;
const initialState = { loggedIn: false };
beforeEach(() => {
TestBed.configureTestingModule({
imports: [ // any modules needed
],
providers: [
AuthGuard,
provideMockStore({ initialState }),
// other providers
],
});
store = TestBed.inject(MockStore);
guard = TestBed.inject(AuthGuard);
});
it('should get data state', () => {
const expected = cold('(a|)', { a: false });
store.setState({ message : {data : [1, 3, 7]} });
expect(store.getState().message.data).toEqual([1, 3, 7]);
});
});
答案 1 :(得分:0)
我得到了这个问题的解决方案。我们可以写spyOn如下
spyOn(MockNgRedux.getInstance(), 'getState').and.returnValues({
message: {
data: {}
}
});
这个方法对我有用。