【问题标题】:why is my test receiving status 200 even though token is not provided?为什么即使未提供令牌,我的测试也会收到状态 200?
【发布时间】:2022-06-11 00:48:30
【问题描述】:

我定义了let token 并在每个实现之前登录,但在这个我只是token = '' 以确保客户端没有登录。我应该得到状态 401 但我得到了 200。你能告诉我我做错了什么?

describe('PUT /:id', () => {

        let token;
        let genre;
        let newName;
        let id;

        const exec = async () => {
            return await request(server)
                .put('/api/genres/' + id)
                .set('x-auth-token', token)
                .send({ name: newName });
        }

        beforeEach(async () => {
            genre = new Genre({ name: 'genre1' });
            await genre.save();

            token = new User().generateAuthToken();
            id = genre._id;
            newName = 'updatedName';
        });

        it('should return 401 if client is not logged in', async () => {
            token = '';

            const res = await exec();

            expect(res.status).toBe(401);
        });
 ● /api/genres › PUT /:id › should return 401 if client is not logged in

    expect(received).toBe(expected) // Object.is equality

    Expected: 401
    Received: 200

      142 |             const res = await exec();
      143 |
    > 144 |             expect(res.status).toBe(401);
          |                                ^
      145 |         });
      146 |
      147 |         it('should return 400 if genre is less than 5 characters', async () => {

      at Object.toBe (tests/integration/genres.test.js:144:32)

【问题讨论】:

  • 您还应该发布具有端点实现的代码,以帮助了解该端发生的情况

标签: javascript node.js express testing jestjs


猜你喜欢
  • 2015-04-22
  • 2021-08-21
  • 2019-10-11
  • 2014-09-20
  • 2016-08-25
  • 2022-08-20
  • 1970-01-01
  • 2019-08-08
  • 1970-01-01
相关资源
最近更新 更多