Jay*_*uld 3 javascript node.js jestjs
我正在使用 Jest 为 Node.js 应用程序编写单元测试,并尝试测试 API 端点是否返回具有一组预先确定的属性的对象。我有以下内容:
const sampleResponse = {
"Game": "GameName",
"World": "2",
"Location": "ServerLocation",
"Timestamp": 1516204557853,
"alive": true,
"time": 10.1,
"min": 8.927,
"max": 10.154,
"avg": 9.409
};
Run Code Online (Sandbox Code Playgroud)
然后我使用以下代码来测试对象属性:
test("Location for server cluster exists, and returns an array of objects", () => {
return Request(Routes.LocationSpecific).then((result) => {
expect(result[0]).toMatchObject(sampleResponse);
});
});
Run Code Online (Sandbox Code Playgroud)
其中包含与上述对象类似的数据的对象数组在哪里result,我只是简单地匹配result[0].
测试失败,因为从我的 API 端点返回的每个对象属性的值与上面的示例数据不匹配。这些属性存在,由于值不匹配,我的终端中出现红色,但我想将其变为绿色。
有没有办法将所有给定属性result[0]与示例对象相匹配,而不管它们的值如何?
比较键的数组:
expect(Object.keys(result[0])).toEqual(Object.keys(sampleResponse));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5358 次 |
| 最近记录: |