Как я могу протестировать объект с помощью Jest - PullRequest
0 голосов
/ 09 июля 2020

Я использую jest и хочу создать тестовый вызов API get. Для этого мне нужно добавить данные в базу данных. Какой правильный / лучший способ проверить данные?

describe('GET /', () => {
    it('should return all users', async () => {
        await Users.collection.insertMany([
            {
                name: 'mike',
                age: 39
                gender: 'other
                description: 'This is a cool desc',
            },
            {
                name: 'seth',
                age: 19
                gender: 'trans
                description: 'This is another cool desc',
            },
        ]);


        const res = await request(server).get('/api/users');
        expect(res.status).toBe(200);
        expect(res.body.length).toBe(2);
        expect(res.body.some((t)=> t.name === 'mike')).toBeTruthy();
    });
});

// Это тест, который у меня сейчас есть. Должен ли я просматривать все поля данных, то есть имя, возраст, пол, описание?

1 Ответ

0 голосов
/ 09 июля 2020

Я бы рекомендовал проверить каждое поле. Если ваши данные такие же, как и вставленные непосредственно в базу данных, то их легко использовать: id et c. Есть несколько инструментов, которые могут помочь в этом, а именно массив, содержащий и , содержащий . Вы можете делать такие вещи, как:

expect(res).isEqual({ 
  name: 'foo',
  id:  expect.any(String)
})

Вот довольно хорошая запись в блоге , объясняющая, как их использовать.

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