Как хранить данные глобально в мокко? - PullRequest
0 голосов
/ 07 апреля 2020

Выполняя какой-то модульный тест API с помощью Mocha, а затем загружая результат теста в Testrail, я пытаюсь выяснить, как правильно обрабатывать хранение данных глобально, чтобы другой тестовый файл мог получить доступ к этим данным.

Итак, у меня есть before root-hook файл с именем BeforeAll.test.js, так что в основном это before () будет выполнено до начала всех моих тестов, и в основном это создает тестовый прогон на testrail с использованием API-интерфейса testrail, и он возвращает testRunID, который я необходимо иметь глобальный доступ.

const api = require('../api/axiosTestrail');

before('Create test run', async () => {
    let testRun = await api.createTestRun(7012, "Canary test 3");

    // I need to store this globally
    let testRunID = testRun.id;
    console.log(testRunID);
});

, а затем в одном из моих тестовых файлов мне понадобится testRunID, чтобы я мог обновить тестовые случаи

const api = require('../api/axiosFrameTV');
const body = require('../api/json/setFrameModeSetting');
const expect = require('chai').expect;

describe('setMotionSensorSetting', () => {
    // send valid request - ON
    context('Send valid request', () => {

        // check status code
        it('should get status code 200', async () => {
            let response = await api.sendPOST(body.sendJSON("On"));
            console.log(response.data);

            // testrail update needs testRunID
            if (response.status === 200) {
                let updateStatus = await api.updateTestCase(testRunID, "pass", "some comment");
                console.log(updateStatus);
            } else {
                let updateStatus = await api.updateTestCase(testRunID, "fail", "some comment");
                console.log(updateStatus);
            }

            // assert
            expect(response.status).to.equal(200);

        });
    });
});
...