【发布时间】:2018-10-26 12:38:38
【问题描述】:
在我的 React Native 应用程序的 Saga 测试中(确实可以正常工作),我添加了以下测试,该测试调用了一个执行 POST http 调用 (doScan) 的函数。
describe('Scan the product and register the scanning action', () => {
const it = sagaHelper(scanProductSaga(scanProductAction(item)));
it('logscan via ASL', (result) => {
expect(result).toEqual(cps(ASLogger.logScan, xxx));
return logScanResult;
});
it('should register the product', (result) => {
expect(result).toEqual(call(doScan, logScanResult));
});
});
单独的文件:
const doScan = scanObj =>
toJSON(fetch('https://xxxx.xxxxxx.com/logger/scans', {
method: 'POST',
headers: new Headers(CONTENT_TYPE_HEADERS),
body: JSON.stringify(scanObj),
}));
注意:fetch 函数来自 react-native 库中的“react-native-interfaces.js”。测试失败,错误是由以下异常引起的:
ReferenceError: fetch is not defined
at doScan (/Users/andy/WebstormProjects/ASAP/api/index.js:81:11)....
什么会导致这样的问题?解决方案可能是什么?
【问题讨论】:
标签: javascript reactjs jestjs redux-saga universal