Проверьте с мокко и чай, чтобы увидеть, если обещание решено или отклонено - PullRequest
0 голосов
/ 11 июня 2019

Я написал функцию, которая принимает некоторые аргументы, и внутри функции она использует класс, который имеет функцию из сторонней библиотеки, которая возвращает обещание, и я возвращаю этот результат обещания в своей собственной функции. как:

return client.track(data) // client.track is from a 3rd party lib that should return a promise 

Теперь я хочу проверить возвращение обещания в моем файле тестирования mocha + chai. Я импортирую эту функцию со входами, и я должен получить результат. что-то вроде:

const result = await myfunc(x,y) // Should return the result of a promise 

Теперь я хочу проверить, было ли обещание действительно разрешено или отклонено в mocha + chai, например, используя

chai.expect(...)

Как я могу это сделать?

1 Ответ

1 голос
/ 11 июня 2019

Взгляните на пакет npm chai-as-promised (https://www.npmjs.com/package/chai-as-promised). Это расширение библиотеки chai, которое предлагает поддержку обещаний.

Вы можете настроить его следующим образом

const chai            = require("chai")
const chaiAsPromised  = require("chai-as-promised")

chai.use(chaiAsPromised)
chai.should()

promiseFunction(args).should.be.rejectedWith(SomeError)
promiseFunction().should.eventually.be.a('array')

Посмотрите документацию, чтобы лучше понять возможности этого плагина:)

...