Моя 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: я понимаю, что такая практика изменения значения в одном тесте и использования его в другом не может быть рекомендована, но для меня это неизбежно.