Jest обнаружил следующую открытую ручку, которая может помешать Jest выйти - PullRequest
0 голосов
/ 08 октября 2018

Вот мои HTTP-маршруты

 app.get('/', (req, res) => {
    res.status(200).send('Hello World!')
})

app.post('/sample', (req, res) => {
    res.status(200).json({
        x:1,y:2
    });
})

Я хотел бы проверить следующий

1) GET запрос работает нормально.

2) *Ответ 1009 * содержит свойства и x и y

const request = require('supertest');
const app = require('../app');

describe('Test the root path', () => {
    test('It should response the GET method', () => {
        return request(app).get('/').expect(200);
    });
})

describe('Test the post path', () => {
    test('It should response the POST method', (done) => {
        return request(app).post('/sample').expect(200).end(err,data=>{
            expect(data.body.x).toEqual('1');

        });
    });
})

Но я получил следующую ошибку при запуске теста

Jest обнаружил следующую 1 открытую ручкуПотенциально удерживает Jest от выхода:

запрос на возврат (app) .get ('/'). Ожидается (200);

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

вам нужно вызвать done() в методе end()

const request = require("supertest");
const app = require("../app");

let server = request(app);

it("should return 404", done =>
    server
        .get("/")
        .expect(404)
        .end(done);
});

0 голосов
/ 08 октября 2018

Привет. Вы также можете использовать функцию toEqual.

describe('Test the post path', () => {
    test('It should response the POST method', () => {
        return request(app).post('/sample').expect(200).toEqual({ x:1,y:2
        });
    });
})

Вместо этого можно использовать множество методов. Вы можете бросить официальную документацию, которая охватывает каждую шутливую функцию https://jestjs.io/docs/en/expect

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