Я использую mocha
, supertest
и proxyquire
с последних нескольких дней.
Я могу провести интеграционный тест без проблем. Но у меня есть несколько вопросов.
Это один набор тестов из моего проекта.
const expect = require('chai').expect
const request = require('supertest')
const _ = require('lodash')
const sinon = require('sinon')
const faker = require('faker')
describe('ComboController /api/v1/combos', function () {
const app = require('../src/app')
it('should GET combo of given id: getComboById', async () => {
const response = await request(app)
.get(`/api/v1/combos/${faker.random.alphaNumeric(1)}`)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200)
const body = response.body
expect(body).to.have.keys('status', 'message', 'data')
expect(body.status).to.be.a('Boolean').true
expect(body.data).to.be.a('Object')
})
})
Итак, я хочу знать.
Какова роль мокко здесь?
Я знаю, с помощью supertest
я могу сделать http-запросы.
Но для каждого набора тестов я передаю экземпляр express app.
Итак, Что лучше всего делать с этим express приложением?
Создает ли он каждый раз новый сервер для отправки запросов?
..и если да, возможно ли создать только один express сервер для каждого набора тестов?