NGRX 选择器投影仪功能在茉莉花单元测试中返回未定义,angular 10
NGRX selector projector function returning undefined in jasmine unit test, angular 10
我正在尝试将状态和道具投射到选择器中。当控制台在选择器 运行 中记录测试时,变量存在并按预期工作。但是我的 expect 行抛出错误,说 expected undefined to equal ...
fit('should return the data based on ID passed in', () => {
const props = {
id: '67891'
}
const state = {
data: [
{ id: '12345', startDate: '2018-01-01', endDate: '2019-01-01' },
{ id: '67891', startDate: '2018-01-01', endDate: '2019-01-01' },
{ id: '14567', startDate: '2018-01-01', endDate: '2019-01-01' }
]
};
const result = state.data[1]
expect(selectors.getDataByID.projector(state, props)).toEqual(jasmine.objectContaining(result));
});
export const getDataByID = createSelector(
getState,
(state, props) => {
const data = Object.values(state.data);
data.find((element: any) => props.id === element.id)
}
);
我不确定发生了什么,因为阅读 NGRX 站点上的文档似乎支持我在这里所做的事情,网络上以前的示例也是如此。变量数据在选择器中可用,但在测试中显示未定义?
感谢任何帮助,对 NGRX 来说还很陌生。谢谢
尝试退货,其他的似乎没问题。
return data.find((element: any) => props.id === element.id)
我正在尝试将状态和道具投射到选择器中。当控制台在选择器 运行 中记录测试时,变量存在并按预期工作。但是我的 expect 行抛出错误,说 expected undefined to equal ...
fit('should return the data based on ID passed in', () => {
const props = {
id: '67891'
}
const state = {
data: [
{ id: '12345', startDate: '2018-01-01', endDate: '2019-01-01' },
{ id: '67891', startDate: '2018-01-01', endDate: '2019-01-01' },
{ id: '14567', startDate: '2018-01-01', endDate: '2019-01-01' }
]
};
const result = state.data[1]
expect(selectors.getDataByID.projector(state, props)).toEqual(jasmine.objectContaining(result));
});
export const getDataByID = createSelector(
getState,
(state, props) => {
const data = Object.values(state.data);
data.find((element: any) => props.id === element.id)
}
);
我不确定发生了什么,因为阅读 NGRX 站点上的文档似乎支持我在这里所做的事情,网络上以前的示例也是如此。变量数据在选择器中可用,但在测试中显示未定义?
感谢任何帮助,对 NGRX 来说还很陌生。谢谢
尝试退货,其他的似乎没问题。
return data.find((element: any) => props.id === element.id)