首页 > 解决方案 > JSON.parse 中位置 0 的 JSON 中的意外标记 u

问题描述

我正在尝试为其中涉及 JSON.parse 的提交函数编写开玩笑的测试用例。下面是它的代码和测试用例。

handleFormSubmit = (e) => {
        e.preventDefault();
        let requestData = JSON.parse(JSON.stringify(this.props.tempAddRequest));
            if (e.target[1].value.length === 0) {
                this.setState({ rrNumberFeedback: true, rrNumberErr: FIELD_ERROR });
            }
}

 it("should check if rr is null on clicking submit button in modal", () => {
        const instance = wrapper.instance();
        const e = {
            target: [{ name: "branchNumber", value: "" }, { name: "rrNumber", value: "" }, { name: "crdNumber", value: "1234" }],
            preventDefault: () => { }
        }
        instance.handleFormSubmit(e);
        expect(wrapper.state('rrNumberErr')).toEqual("E");
        expect(wrapper.state('rrNumberFeedback')).toEqual(true);
    });

标签: javascriptreactjsjestjs

解决方案


参考这张图片如果handleFormSubmit涉及JSON.parse()您需要在事件的值中发送字符串化的 JSON

尝试更改event

const e = {
        target: JSON.stringify([{ name: "branchNumber", value: "" }, { name: "rrNumber", value: "" }, { name: "crdNumber", value: "1234" }]),
        preventDefault: () => { }
    }

推荐阅读