我正在尝试遵循有关Jest的教程。我正在尝试进行一个包括我的REST服务的模拟的测试。根据教程,我需要在src文件夹的同一级别上添加一个名为嘲笑的文件夹(前后带有两个下划线-SO删除此编辑器中的下划线)。在该文件夹中,创建一个与REST服务同名的const:
const CrawlService = jest.fn(() => 42);
现在在我的测试中,我有以下内容:
import { CrawlService } from "../../../services/CrawlService";
import "regenerator-runtime/runtime";
describe("CardsButtonContainer", () => {
it("dsfsdf", async () => {
var jobsResult = await CrawlService.getJobs(0, 1, 1, 10, 0);
});
});
我期望Jest将用模拟服务替换我的REST服务,我是否在这里误解了?我收到以下错误:
请求失败,状态码为404
似乎调用了我的REST服务,而不是被嘲笑的服务。
我想我必须以某种方式添加getJobs函数,但是我不确定从类中获取函数时该怎么做?欢迎任何指针。
答案 0 :(得分:0)
您在屏幕快照中显示的示例模拟了整个isomorphic-fetch
模块。建议您改用fetch-mock
或nock
之类的库。两者都提供了一个API,可让您自定义响应以进行测试。