javascript - 如何在 Jest 中部分匹配对象数组中的字符串?
问题描述
我正在使用以下内容:
- Node.js:9.8.0
- 开玩笑:22.4.2
从 myFunction 返回一个类似以下的数组:
[
...
{
id: 00000000,
path: "www.someUrl.com/some/path/to"
}
...
]
我想将它与以下类型的数组匹配:
const output = [
...
{
id: 00000000,
path: "path/some/path/to"
}
...
]
简而言之:我想完全匹配 id,但只是部分匹配路径。
但我只是不知道如何......我尝试了以下方法:
expect(myFunction()).toEqual(expect.arrayContaining(output));
但是这给了我一个错误。
解决方案
我已经用以下代码解决了:
const output = JSON.parse(readFileSync('./myFunction.json', 'utf8'));
describe('Testing myFunction.', () => {
test('Deafult test.', () => {
const input = myFunction();
input.map((value, index) => {
const { imageURL, ...remaining } = output[index];
expect(value).toMatchObject({
...remaining,
imageURL: expect.stringContaining(imageURL)
});
});
});
});
推荐阅读
- php - 删除php中html表的第一行
- javascript - 如何隐藏可打印版本的 TidioChat 侧边栏?
- vim - 在vim中选择不同的块
- r - Cox 模型的常数
- javascript - 延迟加载在 safari 和 firefox 中显示空白页面,直到完全加载
- javascript - .then() 在循环期间未多次执行内部函数
- python - Keras 如何优化没有激活的层的权重?
- google-app-engine - 如何在 Google App Engine 中获取一段时间内的任务数?
- sql - PostgreSQL distinct on + order by 查询优化
- angular - index.html 中的条件视口元标记