Мокко не выходит - PullRequest
       0

Мокко не выходит

1 голос
/ 14 февраля 2020

Я сталкиваюсь с проблемой, когда Mocha не выходит.

Я прочитал, что это может быть, потому что у меня есть висящие ресурсы, но я не уверен, где.

Мой код это:

import express from 'express';

let app = express();

app.get('/', (req, res) => {
    res.end('Done');
});

app.listen(3000);

export default app;

И мой тест:

import { describe, it } from 'mocha';
import chai, { expect } from 'chai';
import chaiHttp from 'chai-http';
import app from '../app';

chai.use(chaiHttp);

describe('Simple test', () => {
    it('Should', async () => {
        let response = await chai.request(app).get('/');
        expect(response).to.have.status(200);
    });
});

Ответы [ 2 ]

2 голосов
/ 14 февраля 2020

Попробуйте запустить тест с флагом --exit. Это заставит "Мокко" выйти после завершения испытаний " ref

$ mocha --exit ./test.test.js

1 голос
/ 14 февраля 2020

Вызов app.listen(3000) блокирует завершение процесса.

Импортируйте объект app без вызова app.listen(3000) при выполнении тестов.

app.js

import express from 'express';

let app = express();

app.get('/', (req, res) => {
    res.end('Done');
});


export default app;

test.js

import chaiHttp from 'chai-http';
import { describe, it } from 'mocha';
import app from './app';

chai.use(chaiHttp);

describe('Simple test', () => {
  it('Should', async () => {
    let response = await chai.request(app).get('/');
    chai.expect(response).to.have.status(200);
  });
});

В другом модуле импортируйте app и запустите его, слушая, как обычно, ваш сервер.

main.js

import app from './app'

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