una tipos sublime pasar parametros jshintrc funciones funcion es6 desde javascript gruntjs jasmine karma-runner jshint

tipos - pasar parametros a una funcion javascript desde html



JSHint cree que las funciones de Jasmine no están definidas (4)

Creo que las otras respuestas son correctas, pero nunca antes había visto tal excepción, sin embargo, ahora lo veo. Luego noté que mis pruebas no están en IIFE. Así que los moví en IIFE así y ya no recibo tales advertencias JSHINT.

(function () { describe(''foo'', () => { it(''bar'', () => { expect(1+1).toEqual(2); }); }); })();

Tengo una configuración de Grunt que usa Karma + Jasmine y JSHint. Cada vez que ejecuto JSHint en mi archivo de especificaciones, aparece una serie de errores "indefinidos", la mayoría de los cuales son para las funciones incorporadas de Jasmine. Por ejemplo:

Running "jshint:test" (jshint) task js/main.spec.js 3 |describe("loadMatrix()", function() { ^ ''describe'' is not defined. 4 | it("should not assign a value if no arg is passed.", function() { ^ ''it'' is not defined.

(También recibo algunos errores indefinidos para las variables y funciones del archivo JS que mi especificación debe probar, pero no estoy seguro de por qué y puede tratarse de un problema diferente).

Mi archivo de configuración de Karma tiene frameworks: [ "jasmine" ] en él, no tengo ningún conjunto global para JSHint, y no tengo un archivo .jshintrc porque lo estoy configurando en Grunt. Intenté agregar las funciones de Jasmine como JSHint globales en mi Gruntfile en un punto, pero establecerlas como true o false no hizo una diferencia; los errores aún persisten cuando se ejecuta JSHint.

¿Qué me estoy perdiendo? Parece que no puedo hacer nada para que JSHint omita la verificación de definición de las funciones de Jasmine en mi archivo de especificaciones.


Simplemente puede agregar "jasmine": true a su archivo .jshintrc .


Lo arreglé en Gruntfile.js y agregué jasmine: true a las opciones de la tarea jshint:

jshint: { options: { ... node: true, jasmine: true, ... }, ... },

Al igual que el OP, tampoco estoy usando un archivo .jshintrc.


CORRECCIÓN MENOR: debería haber "" alrededor de predef en el archivo .jshintrc.

Se solucionó al agregar esto a las opciones de jshint en mi Gruntfile.coffee :

predef: [ "jasmine" "describe" "xdescribe" "before" "beforeEach" "after" "afterEach" "it" "xit" "it" "inject" "expect" "spyOn" ]

.jshintrc :

"predef": [ "jasmine", "describe", "xdescribe", "before", "beforeEach", "after", "afterEach", "it", "xit", "it", "inject", "expect", "spyOn", ]