2017-02-07 4 views
0

J'essaie d'écrire des tests unitaires pour mon application Angular 2. J'utilise Jasmine, Chutzpah dans Visual Studio 2015. Lorsque le test n'a pas de dépendances ou d'exigences, le test fonctionne. Mais quand le test en a un, le test ne sera pas lancé.Jasmine, Chutzpah Erreur: ReferenceError: Impossible de trouver la variable: require

Dans la sortie lorsque je tente de démarrer les tests que je reçois:

Error: ReferenceError: Can't find variable: require at global code in ...\scripts\_references.js 

Error: ReferenceError: Can't find variable: jQuery at global code in ...\scripts\_references.js 

Les Reference.js ressemble:

/// <autosync enabled="true" /> 
/// <reference path="../gulpfile.js" /> 
/// <reference path="bootstrap.js" /> 
/// <reference path="jasmine.js" /> 
/// <reference path="jasmine/boot.js" /> 
/// <reference path="jasmine/console.js" /> 
/// <reference path="jasmine/jasmine.js" /> 
/// <reference path="jasmine/jasmine-html.js" /> 
/// <reference path="jasmine-html.js" /> 
/// <reference path="jasmine-samples/player.js" /> 
/// <reference path="jasmine-samples/playerspec.js" /> 
/// <reference path="jasmine-samples/song.js" /> 
/// <reference path="jasmine-samples/spechelper.js" /> 
/// <reference path="jquery.validate.js" /> 
/// <reference path="jquery.validate.unobtrusive.js" /> 
/// <reference path="jquery-1.10.2.js" /> 
/// <reference path="modernizr-2.6.2.js" /> 
/// <reference path="reflect.js" /> 
/// <reference path="respond.js" /> 
/// <reference path="ScriptsApp/app.component.spec.js" /> 
/// <reference path="shim.min.js" /> 
/// <reference path="system.src.js" /> 
/// <reference path="systemjs.config.js" /> 
/// <reference path="zone.js" /> 

Je pense qu'il ya quelque chose de mal dans ce fichier ou quelque chose disparu.

Répondre

0

Comme je le pense, le _Reference.js n'était pas correct. J'ai changé à:

/// <autosync enabled="false" /> 
 

 
/// <reference path="node_modules\npm\node_modules\init-package-json\node_modules\promzard\test\exports.js" /> 
 

 

 
/// <reference path="jquery-1.10.2.js" /> 
 
/// <reference path="jquery.validate.js" /> 
 
/// <reference path="jquery.validate.unobtrusive.js" /> 
 

 
/// <reference path="jasmine.js" /> 
 
/// <reference path="jasmine/boot.js" /> 
 
/// <reference path="jasmine/console.js" /> 
 
/// <reference path="jasmine/jasmine.js" /> 
 
/// <reference path="jasmine/jasmine-html.js" /> 
 
/// <reference path="jasmine-html.js" /> 
 

 
/// <reference path="bootstrap.js" /> 
 
/// <reference path="modernizr-2.6.2.js" /> 
 
/// <reference path="reflect.js" /> 
 
/// <reference path="respond.js" /> 
 

 
/// <reference path="shim.min.js" /> 
 
/// <reference path="system.src.js" /> 
 
/// <reference path="systemjs.config.js" /> 
 
/// <reference path="zone.js" /> 
 

 
/// <reference path="ScriptsApp/app.component.spec.js" />

le plus d'erreurs disparaissent, mais 1 erreur séjours:

Error: ReferenceError: Can't find variable: require at global code in \scriptsapp\app.component.spec.js 

pourrait-il que j'ai besoin d'une référence supplémentaire en quelque sorte?

Edit:

Mon app.component.spec.ts ressemble:

import { AppComponent } from "./app.component.js"; 
 

 
describe('MyList Tests',() => { 
 
\t let list: AppComponent; 
 
\t let test: 0; 
 

 
\t beforeEach(() => { 
 
\t \t list = new AppComponent(); 
 
\t \t test = 0; 
 
\t }); 
 

 
\t it('Should 3 should be 5',() => { 
 
\t \t expect(list.hero.name.length).toBe(5); 
 
\t \t expect(5).toBe(3); 
 
\t }); 
 
});

Et ce .ts génère les app.component.spec.js:

"use strict"; 
 
var app_component_js_1 = require("./app.component.js"); 
 
describe('MyList Tests', function() { 
 
    var list; 
 
    var test; 
 
    beforeEach(function() { 
 
     list = new app_component_js_1.AppComponent(); 
 
     test = 0; 
 
    }); 
 
    it('Should 3 should be 5', function() { 
 
     expect(list.hero.name.length).toBe(5); 
 
     expect(5).toBe(3); 
 
    }); 
 
}); 
 
//# sourceMappingURL=app.component.spec.js.map