2017-07-22 3 views
0

Ich habe ein Projekt node.js in der WebStorm IDE, das einen einfachen Jest-Test enthält. Der Test-Pass aber JSHint warnt, dass 'test' is not defined (w117).JSHint denkt, dass Jest-Funktionen nicht definiert sind

enter image description here

Hier ist mein Testcode:

const sum = require('./sum'); 

test('adds 1 + 2 to equal 3',() => { 
    expect(sum(1,2)).toBe(3); 
}); 

Gibt es eine Möglichkeit JSHint erkennen Jest Funktionen zu machen?

+0

installiert haben würden Sie uns Ihren Code etwas ausmachen, zeigt? – Marco

+0

Der Testcode –

+0

wurde hinzugefügt. In Ordnung und wo haben Sie "test" definiert/benötigt/importiert? – Marco

Antwort

2

Aus dem Code, den Sie uns zeigen, kann man nur annehmen, dass test() eine implizit deklarierte globale Variable ist.

An diesem Punkt weiß ich nicht, welche Rahmen dieser Methode gehört, aber wenn Sie JSHint wollen es halt die Klappe, du musst irgendwie diese Variable deklarieren:

import test from { 'somemodule'} 
//or 
var test = require('test'); 
//or 
(function(test){ 
    test('foo',() => { 
     expect(1).toBe(1); 
    }); 
})(test);  

Wenn Sie wissen, was Sie tun, können Sie diese Warnung deaktivieren, mit einer der folgenden Möglichkeiten:

Confgigure .jshintrc.json Datei in Ihrem Projektordner oder oben:

{ 
    "undef": false 
} 

oder Sie können di Zobel, die mithilfe von

/*jshint -W117 */ 
test('foo',() => { /* ... */}) 
1

JSHint Werke auf Basis einzelner Dateien Inline-Warnung und ‚sehen‘ nicht globale Variablen in anderen Dateien definiert, wenn sie auf ‚globale‘ Liste hinzugefügt werden. Dies kann durch Hinzufügen der entsprechenden Kommentare (/* global test*/) zu Ihren Dateien erfolgen - siehe http://www.jshint.com/docs/ oder durch Hinzufügen von Variablen/Funktionen, die Sie global verwenden möchten, in die Liste 'Vordefiniert' in Preferences -> Languages & Frameworks -> Javascript -> Code Quality Tool -> JSHint -> Predefined (,separated). Wenn Sie eine eigene .jshintrc (Verwenden Konfigurationsdateien Option aktiviert ist) verwenden, fügen Sie ihn auf „Globals“ dort:

"globals": { 
    "test": true 
    } 
0

Dies auch durch eine fehlende Abhängigkeit verursacht werden könnten.

Stellen Sie sicher, @types/jest

npm install --save-dev @types/jest 
Verwandte Themen