我在代码中添加了一个特性,但是当我运行所有测试时,所有测试都成功运行了,但是Jest仍然抛出一个内部错误,并显示以下消息:
Ran all test suites.
the_path\node_modules\expect\build\index.js:303
throw error;
^
JestAssertionError: expect(received).toBe(expected) // Object.is equality
Expected: "node-user-settings"
Received: "null"
我创建了另一个.js文件,并调用了我想用Jest测试的代码,它运行正常。现在,我不明白为什么Jest会抛出一个内部错误。
这是产生错误的测试。
test("asynchronously gets a value, using callbacks without optional filename", () => {
settings.getState_c("moduleName", null, null, (err, data) => {
expect(err).toBe(null);
expect(data).toBe("node-user-settings");
});
});
1条答案
按热度按时间xggvc2p61#
我认为您需要告诉Jest您正在测试一个异步函数:https://jestjs.io/docs/asynchronous。
如果函数不返回Promise,而是异步的,请使用
done
而不是async
。