Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular @角度redux/store:如何为redux存储编写单元测试?_Angular_Redux_Angular Redux - Fatal编程技术网

Angular @角度redux/store:如何为redux存储编写单元测试?

Angular @角度redux/store:如何为redux存储编写单元测试?,angular,redux,angular-redux,Angular,Redux,Angular Redux,我想模拟redux存储,并将针对redux存储的测试直接写入存储。我不想让任何角度的逻辑介于两者之间。有人能帮忙吗?因为angular redux在内部使用普通redux,所以您应该能够调用reducer函数本身。没有棱角,就不需要嘲笑。只需传递当前状态和给定操作 //reducers.spec.ts 从“./reducer.ts”导入{ticketsReducer} 描述('减票器测试',()=>{ 它('应该添加一张票',()=>{ //给定 const currentstate=1; co

我想模拟redux存储,并将针对redux存储的测试直接写入存储。我不想让任何角度的逻辑介于两者之间。有人能帮忙吗?

因为angular redux在内部使用普通redux,所以您应该能够调用reducer函数本身。没有棱角,就不需要嘲笑。只需传递当前状态和给定操作

//reducers.spec.ts
从“./reducer.ts”导入{ticketsReducer}
描述('减票器测试',()=>{
它('应该添加一张票',()=>{
//给定
const currentstate=1;
const action={type:'ADD_TICKET'};
//什么时候
const state=ticketsReducer(状态、动作);
//然后
期望(状态)。toBe(2);
})
});
//reducer.ts
导出常量ticketsReducer:Reducer=(状态=0,操作:操作)=>{
开关(动作类型){
案例添加单:
返回状态+1;
案例删除单:
返回Math.max(0,状态-1);
}
返回状态;
};

很好的建议。我在想,我们可以使用任何模拟商店图书馆吗。这样我就可以测试端到端的应用程序状态。假设我创建一个单例存储并在每个测试用例中使用它当然你可以在每个测试用例中从不同的文件导入相同的状态对象以获得相同的初始状态,但是我不会在多个测试用例中修改它,因为这样你就不再有独立的测试了。一个测试失败,其他测试也可能失败。不管怎样,我认为你不需要任何图书馆,不管你想实现什么。您可以决定是否在多个
it()
descripe()
块上共享状态对象。