首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@testing-library/react with msw/node;window.fetch在POST时未返回正文

@testing-library/react with msw/node;window.fetch在POST时未返回正文
EN

Stack Overflow用户
提问于 2021-04-01 07:37:18
回答 1查看 431关注 0票数 1

我使用create-react-app创建了一个简单的应用程序。我现在正在尝试使用@testing-library和Mock Service Worker编写一些自动化测试用例。由于我不知道的原因,当我使用Window.fetch (或仅仅是fetch)发布请求时,响应的正文没有返回。

我使用了以下依赖项:

代码语言:javascript
复制
    "@testing-library/react": "^11.2.5",
    "@testing-library/user-event": "^12.7.1",
    "msw": "^0.28.0",
    "react": "^17.0.1"

我有以下测试:

代码语言:javascript
复制
import { rest } from 'msw';
import { setupServer } from 'msw/node';

const MOCKED_URL = 'http://mock.example.net:8080/foo'
let server = setupServer(
    rest.post(MOCKED_URL, (req, res, ctx) => {
        return res(
            ctx.status(200),
            ctx.json(req.body),
        )
    }),
)

beforeAll(() => server.listen())
afterEach(() => server.resetHandlers())
afterAll(() => server.close())

test('send POST request with body via superagent', async () => {
    let response = await window.fetch(MOCKED_URL, {
      method: 'POST',
      mode: 'cors',
      cache: 'no-cache',
      headers: { 'Content-Type': 'application/json' },
      body: { bar: 6, baz: '34' }
    });

    console.log(response);
    expect(response.body).toMatchObject({
        bar: 6,
        baz: '34',
    })
});

console.log(response)的输出为

代码语言:javascript
复制
        type: 'default',
        status: 200,
        ok: true,
        statusText: 'OK',
        headers: Headers {
          map: { 'x-powered-by': 'msw', 'content-type': 'application/json' }
        },
        url: '',
        bodyUsed: false,
        _bodyInit: Blob {},
        _bodyBlob: Blob {}
      }

有没有人能解释为什么没有返回body,以及我如何让这个测试工作?

EN

回答 1

Stack Overflow用户

发布于 2021-06-11 13:37:57

您需要调用await response.json()来获取响应体。

代码语言:javascript
复制
const body = await response.json();
expect(body).toMatchObject({bar: 6, baz: '34});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66896621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档