我在和Jest斗争,我只是无法使其正常工作。
我要测试的功能:
fetchPosts() {
return new Promise((resolve, reject) => {
Posts.find({}).then(posts => {
if (posts) {
resolve(posts)
} else {
reject("NOOOO")
}
})
})
}
测试:
describe('fetching posts', () => {
it('should get a list of posts in Array format', () => {
expect.assertions(1);
const result = posts.fetchPosts();
return expect(result).resolves.toEqual(expect.any(Array));
})
})
fetchPosts
函数确实返回整个帖子列表。我如何使我的考试通过?
答案 0 :(得分:0)
您的fetchPost函数是异步的。为了使其在测试中起作用,您需要进行一些更改。
在测试中添加“异步”
it('should get a list of posts in Array format', async () => {...})
在调用异步函数之前添加'await'
您需要expect()
要在不使用return语句的情况下从函数中返回的结果。