Ожидается, что одно утверждение будет вызвано, но получено ноль - PullRequest
0 голосов
/ 21 ноября 2018

Я борюсь с Джестом, я просто не могу заставить его работать должным образом.

Функция, которую я хочу проверить:

fetchPosts() {
    return new Promise((resolve, reject) => {
        Posts.find({}).then(posts => {
            if (posts) {
                resolve(posts)
            } else {
                reject("NOOOO")
            }
        })
    })
}

Проверка:

describe('fetching posts', () => {
    it('should get a list of posts in Array format', () => {
      expect.assertions(1);
      const result = posts.fetchPosts();
      return expect(result).resolves.toEqual(expect.any(Array));
    })
})

Функция fetchPosts возвращает весь список сообщений.Как я могу пройти тест?

1 Ответ

0 голосов
/ 22 ноября 2018

Ваша функция fetchPost является асинхронной.Чтобы это сработало в вашем тесте, вам нужно изменить некоторые вещи.

  1. Добавить «асинхронный» к вашему тесту

    it('should get a list of posts in Array format', async () => {...})

  2. Добавить «ожидать» перед вызовом асинхронной функции

  3. Вам необходимо expect() результат, который вы хотите получить из своей функции без оператора return.

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