No se puede acceder a los valores de prueba dynamics dentro de la función “it” de mocha, aunque está accesible dentro de la función “describir”

Pude acceder a los valores dynamics en el interior, describí exactamente pero no dentro del bloque. (Sobre todo estoy obteniendo el último valor de la matriz)

for( var i =0 ;i< dynamicValues.length; i++){ (function wrap(dynamicValue){ describe("condition", function(){ // It is logging correct value. console.log(dynamicValue) it("should be accessible", function(){ // It is not logging correct value, but logging last value of array. console.log(dynamicValue); } }) }(dynamicValues[i])); } 

¿Cómo obtener el mismo “entorno” de describir dentro del bloque “it”? (Esta es una versión simplificada de mi lógica. Estoy usando objetos dynamics en lugar de elementos de matriz)

Si hay una serie de funciones,

 for( var i =0 ;i< dynamicFunctions.length; i++){ (function wrap(dynamicFunction){ describe("condition", function(){ // It is executing all functions. dynamicFunction.apply(null) it("should be accessible", function(){ // It is always executing last function of the array. dynamicFunction.apply(null); } }) }(dynamicFunctions[i])); } 

Utilice .bind() :

 for(var i = 0, len = dynamicValues; i < len; i++) { describe('condition', function (dynamicValue) { it('should be accessible', function (dynamicValue) { console.log(dynamicValue); }.bind(null, dynamicValue); }.bind(null, dynamicValues[i]); }