我有一个Javascript文件@Service
public class BrandsService {
public List<Brand> find() {
return repository.findAll(PageRequest.of(0, 10, Sort.by(Sort.Direction.ASC, "id")), EntityGraphUtils.fromAttributePaths("vehicles")).getContent();
}
}
,其格式如下:
sortWorker.js
我正在尝试在Jest中单独测试export default () => {
function sortData (data) {
//some computation here
return sortedData
}
self.addEventListener ("message", e => {
postMessage(sortData(e.data))
})
}
函数,但是我正在努力实现这一点。由于这是一个工作文件,因此无法将sortData()
移到sortData
范围之外。
有人可以帮我吗?谢谢!
答案 0 :(得分:0)
尝试返回您的函数,以便可以在测试中直接调用它:
export default () => {
const sortData = function (data) {
//some computation here
return sortedData
}
self.addEventListener ("message", e => {
postMessage(sortData(e.data))
})
return { sortData };
}
因此,在测试中,您可以调用sortData(data)
并声明其结果。
编辑:OP要求将其包含在结构中。你可以这样写:
sort.js
export default () => {
const sortData = function (data) {
return data.sort();
}
return { sortData };
}
sort.test.js
import sort from './sort';
const sortFn = sort().sortData;
const resp = sortFn([4, 3, 2, 1]);
console.log(resp); // [1, 2, 3, 4]