itParam не принимает измененное значение параметра массива глобальных данных - PullRequest
0 голосов
/ 21 декабря 2018

Моя mocha спецификация определена таким образом, что описание имеет глобальный массив (объявленный пустым), который доступен и изменен внутри моего первого it.Второй тест - это тест itParam (см. mocha-param ), который пытается получить к нему доступ, но обнаруживает, что он пустой, в результате чего тест itParam вообще не выполняется.

Пример (it может получить доступ к измененному глобальному значению):

describe('some test', function () {
    var arr = [];
    it('should pass a value', function (done) {
        arr.push(5);
        done();
    });
    it('and then double it', function (done) {
        console.log(arr); // [5]
        done();
    });
});

Пример (itParam не может получить доступ к измененному глобальному значению):

let itParam = require('mocha-param');

describe('some test', function () {
    var arr = [];
    it('should pass a value', function (done) {
        arr.push(5);
        done();
    });
    itParam('and then double it', arr, function (done, v) {
        console.log(v); // []
        done();
    });
});

PS: я понимаю, что такая практика изменения значения в одном тесте и использования его в другом не может быть рекомендована, но для меня это неизбежно.

...