Выполняя какой-то модульный тест 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);
});
});
});