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",
]