小编Mél*_*a A的帖子

为什么 Jest 中的分支没有被剩余参数覆盖?

我目前正在尝试覆盖 100% 的功能,但我面临着一个未覆盖的分支,它不明白为什么它没有被覆盖,甚至不明白如何修复和覆盖它。

测试覆盖率结果在这里

它尝试了许多不同的测试,但没有改变任何东西。我不知道问题是来自我还是 Jest?

我的功能

export const removeProductInList = (state: IItems, action: IBasketRemoveProductAction) => {
    const {
        payload: { uuid },
    } = action;
    const { [uuid]: itemToRemove, ...restOfItems } = state;
    return restOfItems;
};
Run Code Online (Sandbox Code Playgroud)

我的测试

product1 = { id: 1 };
product2 = { id: 2 };
mockUuid1 = 'IdTest';
mockUuid2 = 'IdTest2';
mockItem1 = { product: product1, quantity: 1 };
mockItem2 = { product: product2, quantity: 1 };
mockListItems = {
      [mockUuid1]: mockItem1,
      [mockUuid2]: mockItem2,
}; …
Run Code Online (Sandbox Code Playgroud)

javascript typescript ecmascript-6 jestjs

6
推荐指数
1
解决办法
9050
查看次数

如何执行通过阻止呼叫调度的多个操作

我在听一个动作的传奇。当分派此操作时,它将执行阻塞调用。

问题是很多动作(相同的动作)是在同一时间分派的,而我的传奇无法采取所有动作。但是我需要同步处理每个动作。

我知道这是redux-saga文档中的一个已知问题:我的Saga缺少调度的操作

但事实是,我不能使用fork,因为在处理新的调用之前,我确实需要结束上一个调用。

这是我的代码:

export function* readProducts() {
    while (true) {
        const {
            payload: { tags },
        } = yield take(RFID__ADD_PRODUCT);

        // sequential add of each item
        for (const tag of tags) {
            yield call(addProductViaRfid, tag);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有人有办法解决吗 ?

javascript ecmascript-6 redux redux-saga

5
推荐指数
1
解决办法
45
查看次数