我想使用.toMatchObject来检查Web响应数据的结构。
在我的计划中,我可以使用类似Typescript的.toMatchObject(),我需要做的只是定义一个对象并调用
expect(res.result).toMatchObject(matchObj);
对于那些可选参数,我使用expect.extend定义一个函数来检查参数是未定义的还是某个我想要的类。
但是通过我的测试,当一些参数没有被定义时,jest将在expect.extend中抛出一个没有调用函数的错误。
如何实现此功能?
有我的代码。 expect.toBeUnnessary
在expect.extend中定义。它检查参数是未定义的还是某个类。
const categoryObj = {
CategoryID: expect.any(Number),
Index: expect.any(Number),
Name: expect.any(String),
Children: expect.toBeUnnessary(Array)
};
expect(category).toMatchObject(categoryObj);