【发布时间】:2020-01-14 01:48:48
【问题描述】:
我正在为 React 项目编写单元测试代码。我正在尝试测试一个功能
//function aa
export const login = (values) => async => (dispatch) => {
let bodyFormData = new FormData();
bodyFormData.append('username', values.login);
bodyFormData.append('password', values.password);
return await axios({
method: 'post',
url: url,
data: bodyFormData
}
}
//aa test
it("Login Action", async () => {
afterEach(() => {
store.clearActions();
});
const values = {
login: "aaaaa",
password: "bbbbb"
};
const expectedResult = { type: "LOGIN_PASS" };
const result = await store.dispatch(login(values));
expect(result).toEqual(expectedResult);
});
在浏览器中,这可以正常工作。但是在测试时我得到以下错误
ReferenceError: FormData 未定义
我尝试使用此模块,但没有成功... https://www.npmjs.com/package/form-data
我不想只测试 axios,我需要测试完整的功能。
【问题讨论】:
-
我没有看到您的代码创建了
const FormData = require("form-data")?因为如果你想使用浏览器专用的数据结构,它有点需要。
标签: reactjs unit-testing jestjs