Получение модульного теста машинописи на основе кода статуса ответа http - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь заставить мои модульные тесты пройти / не пройти на основе их кода ответа. Я пытаюсь передать переменную statusCode, равную результату обратного вызова функции, но значение является только временным, поскольку оно заключено в функцию. Я попытался разрешить statusCode = callback (), но мне нужно передать параметры функции. Я не знаю, какие еще шаги предпринять, любая помощь будет принята с благодарностью.

let statusCode;
it('should be able to get all certificates', async () => {
        const request = require('request');

        const headers = {
            accept: 'application/json',
            Authorization: ('Bearer ' + Authorization),
            signature: Signature,
        };

        const options = {
            url: url + '/v3/certificates',
            headers: headers,
        };

        function callback(error, response, body) {
            if (!error) {
                console.log("Certificates: " + body);
            }
            statusCode = response.statusCode;
            console.log("Code : " + statusCode);
            return  response.statusCode;
        }

        request(options, callback);
        console.log("Code 2 : " + statusCode);
        console.debug(assert.equal(statusCode, 200));
    });

1 Ответ

0 голосов
/ 07 апреля 2020

Мне просто нужно было дождаться разрешения кода состояния, и это решило мою проблему. Просто заставив программу подождать 5 секунд, она даст время вашему коду разрешиться.

let statusCode;
it('should be able to get all certificates', async () => {
        const request = require('request');

        const headers = {
            accept: 'application/json',
            Authorization: ('Bearer ' + Authorization),
            signature: Signature,
        };

        const options = {
            url: url + '/v3/certificates',
            headers: headers,
        };

        function callback(error, response, body) {
            if (!error) {
                console.log("Certificates: " + body);
            }
            statusCode = response.statusCode;
            console.log("Code : " + statusCode);
            return  response.statusCode;
        }

        request(options, callback);
        sleep(5000);
        console.log("Code 2 : " + statusCode);
        console.debug(assert.equal(statusCode, 200));
    });```
...