gpt4 book ai didi

javascript - 如何在 Jest 的 Worker 的默认函数中测试函数?

转载 作者:行者123 更新时间:2023-11-28 21:37:07 26 4
gpt4 key购买 nike

我有一个 Javascript 文件 sortWorker.js,格式如下:

export default () => {

function sortData (data) {
//some computation here

return sortedData
}

self.addEventListener ("message", e => {
postMessage(sortData(e.data))
})
}

我正在尝试在 Jest 中单独测试 sortData() 函数,但我正在努力实现这一目标。由于这是一个工作文件,我不能将 sortData 移到 export default 范围之外。有人可以帮我解决这个问题吗?谢谢!

最佳答案

尝试返回您的函数,以便您可以在测试中直接调用它:

export default () => {

const sortData = function (data) {
//some computation here

return sortedData
}

self.addEventListener ("message", e => {
postMessage(sortData(e.data))
})

return { sortData };
}

所以在您的测试中,您可以调用 sortData(data) 并断言其结果。


编辑:OP 要求将其纳入结构。你可以做这样的事情:

排序.js

export default () => {

const sortData = function (data) {
return data.sort();
}

return { sortData };
}

排序测试.js

import sort from './sort';

const sortFn = sort().sortData;

const resp = sortFn([4, 3, 2, 1]);

console.log(resp); // [1, 2, 3, 4]

关于javascript - 如何在 Jest 的 Worker 的默认函数中测试函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57274245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com