如何在 Jest 中检查数据

发布于 2025-01-09 23:08:10 字数 600 浏览 0 评论 0原文

我正在使用 Jest 包来测试我的 Node 应用程序服务器端。 我需要检查我向服务器发出的请求的结果的值和类型。

  1. 是否有可能期望结果是这样的对象?

  2. 如何检查string[]

结果来自请求:

{
  "definitions": [
    "One who subsists on charity; a dependent. South."
  ],
  "pos": "n.",
  "word": "ELEEMOSYNARY"
}

我的检查是:

definitions - string[]
pos - "n."
word - string

我的代码是:


** expect(typeof (res.body.definitions)).toEqual('string'); ???? **

expect(res.body.pos).toEqual('n.');
expect(typeof (res.body.word)).toEqual('string');

I'm using the Jest package to test my Node application server-side.
I need to check the value and type of the result from my request to the server.

  1. Is it possible to expect the result to be an object like this?

  2. And how to check string[] ?

The result is from the request:

{
  "definitions": [
    "One who subsists on charity; a dependent. South."
  ],
  "pos": "n.",
  "word": "ELEEMOSYNARY"
}

My check to be:

definitions - string[]
pos - "n."
word - string

My code is :


** expect(typeof (res.body.definitions)).toEqual('string'); ???? **

expect(res.body.pos).toEqual('n.');
expect(typeof (res.body.word)).toEqual('string');

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

娇纵 2025-01-16 23:08:10

您可以检查定义的长度或检查 Array.isArray() 是否为 true,以及位置零处的字符串,如下所示:

// Either this for the array check
expect(res.body.definitions.length).toEqual(1);
// Or this for the array check
expect(Array.isArray(res.body.definitions)).toStrictEqual(true);

// And this for the string check of the array
expect(res.body.definitions[0]).toEqual("One who subsists on charity; a dependent. South.");

我假设您已模拟此 api 请求/响应,因此您可以依靠 definitions[0] 的值来检查字符串。

You can check the length of definitions or check if Array.isArray() is true, and also the string at position zero like this:

// Either this for the array check
expect(res.body.definitions.length).toEqual(1);
// Or this for the array check
expect(Array.isArray(res.body.definitions)).toStrictEqual(true);

// And this for the string check of the array
expect(res.body.definitions[0]).toEqual("One who subsists on charity; a dependent. South.");

I'm assuming you have this api request/response mocked so you can rely on the value of definitions[0] to check the string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文