С Жасмин 2 очень проста в использовании Жасмин в среде Node.js. Для тестирования express приложений с этим я рекомендую использовать Жасмин в комбинации с supertest.
Вот как такой тест выглядит следующим образом:
проекта/спецификации/ServerSpec.json
const request = require('supertest');
const app = require('../app');
describe('Server',() => {
describe('REST API v1',() => {
it('returns a JSON payload', (done) => {
request(app)
.get('/rest/service/v1/categories')
.expect(200)
.expect('Content-Type', 'application/json; charset=utf-8')
.end((error) => (error) ? done.fail(error) : done());
});
});
});
некоторых предпосылок:
- Установите жасмин v2, как Dev зависимости в вашей проект:
npm i -D [email protected]
- Установить supertest v3 как зависимость от dev в вашем pr роект:
npm i -D [email protected]
- Создайте начальную конфигурацию жасмина, используя
jasmine init
(Примечание: Вы должны установить жасмин глобально первым, если вы еще не сделали уже запустить эту команду)
- Создать спецификацию, заканчивающуюся на «Spec.JS»(как
ServerSpec.js
)
Вот как конфигурация Жасмин выглядит следующим образом:
проекта/спецификации/поддержка/jasmine.json
{
"helpers": [
"helpers/**/*.js"
],
"random": false,
"spec_dir": "spec",
"spec_files": [
"**/*[sS]pec.js"
],
"stopSpecOnExpectationFailure": false
}
Для запуска спецификаций (тестовые наборы) просто добавьте это в свой npm scripts и выполните npm test
(или просто npm t
):
"scripts": {
"test": "jasmine"
},
Я думаю, что supertest можно легко использовать с жасмином, поэтому ваше предложение может быть полезным, и нет необходимости связывать его с моккой. – Ph0en1x
почему нисходящий? – Cmag
он говорит, что любит Жасмин. он просит разрешения с Жасмином. этот ответ дает ему решение с Моккой. Мокка не Жасмин. – rowanu