我正在编写对星球大战 API swapi.dev
的简单调用的测试,只是学习了一些异步测试。
但是,我收到以下错误 TypeError: swapi.getCharacters is not a function
下面是我的功能
const fetch = require('node-fetch');
const getCharacters = async (fetch) => {
try {
const getRequest = await fetch.get('https://swapi.dev/api/people');
const data = await getRequest.data;
return {
counts: data.count,
results: data.results,
};
} catch (error) {
console.error(error.message);
}
};
module.exports = getCharacters;
这是我的测试
const fetch = require('node-fetch');
const swapi = require('./script2.js');
it('calls swapi to get star wars characters', () => {
expect.assertions(2);
return swapi.getCharacters(fetch).then((data) => {
expect(data.count).toEqual(82);
expect(data.results.length).toBeGreaterThan(5);
expe;
});
});
这是我的 package.json
{
"name": "test",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"test": "jest --watch *.js"
},
"devDependencies": {
"jest": "^26.6.3",
"node-fetch": "^2.6.1"
}
}
我做错了什么?
答案 0 :(得分:0)
你应该做的:
module.export = {
getCharacters : getCharacters
}
在您的 script2.js 文件中。