почему я получаю ошибку 404 при тестировании своего проекта? - PullRequest
1 голос
/ 23 января 2020

Я использую Jest для тестирования своего приложения, но когда я добавляю все больше и больше кода для тестирования, я получаю больше ошибок в предыдущих кодах.

У меня есть этот код для тестирования в тесте

const {Genre} = require('../../models/genre')

describe('GET /:id', ()=>{
        it('should return genre with given id', async ()=>{
            const genre = new Genre({ name: "Genre1 "});
            await genre.save();
            console.log(genre._id)
            const res = await request(server).get('/api/genres/' + genre._id);

            expect(res.status).toBe(200);
            expect(res.body).toHaveProperty('name', genre.name)
        })
    });

это жанры. js

router.get('/:id', validateObjectId  ,async (req, res) => {
  const genre = await Genre.findById(req.params.id);

  if (!genre) return res.status(404).send('The genre with the given ID was not found.');

  res.send(genre);
});

и я получаю сообщение об ошибке:

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

    Expected: 200
    Received: 404

      32 |             const res = await request(server).get('/api/genres/' + genre._id);
      33 | 
    > 34 |             expect(res.status).toBe(200);
         |                                ^
      35 |             expect(res.body).toHaveProperty('name', genre.name)
      36 |         })
      37 |         it('should return 404 if invalid id is passed', async ()=>{

Есть ли решение, чтобы это исправить? когда я запускаю только файл genres.test. js, он работает нормально, но когда я хочу протестировать весь свой проект, он выдает ошибку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...