Javascript 如何在事件发生后执行测试
我想测试一些需要Discord.js客户端“准备就绪”的函数,但我找不到如何让Jest在事件发生后运行我的测试。我试着在函数中移动测试,比如Javascript 如何在事件发生后执行测试,javascript,node.js,continuous-integration,jestjs,discord.js,Javascript,Node.js,Continuous Integration,Jestjs,Discord.js,我想测试一些需要Discord.js客户端“准备就绪”的函数,但我找不到如何让Jest在事件发生后运行我的测试。我试着在函数中移动测试,比如 client.on("ready", () => { test(...); }) 但是当我运行npm测试时,它检测到0个测试。 我还尝试在测试中编写client.on函数,但它没有检测到expect,也没有检查任何内容就通过了 test("sample", () => { client.on("ready", () => {
client.on("ready", () => {
test(...);
})
但是当我运行npm测试时,它检测到0个测试。
我还尝试在测试中编写client.on
函数,但它没有检测到expect
,也没有检查任何内容就通过了
test("sample", () => {
client.on("ready", () => {
expect(...);
})
})
我试着看了看照片,但什么也没找到。
有人能帮我吗?您可以创建一个解决问题的承诺,然后测试等待它
test("sample", async() => {
const p = new Promise((resolve) => {
client.on("ready", () => {
resolve()
})
})
await p
expect(...);
})
还可以了解如何通过传递done
参数在测试中执行操作,Jest将等待调用done()
test("sample", done => {
client.on("ready", () => {
expect(...);
done();
})
})