2017-02-07 5 views
0

ich versuche Einheitentests für meine Angular 2 App zu schreiben. Ich benutze Jasmine, Chutzpah in Visual Studio 2015. Wenn der Test keine Abhängigkeiten oder Anforderungen hat, dann funktioniert der Test. Aber wenn der Test einen hat, wird der Test nicht gestartet.Jasmine, Chutzpah Fehler: ReferenceError: Variable kann nicht gefunden werden: require

In der Ausgabe, wenn ich versuche, die Tests i bekommen zu starten:

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 

Die Reference.js wie folgt aussehen:

/// <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" /> 

Ich denke, es ist etwas falsch in dieser Datei oder etwas fehlt.

Antwort

0

Wie ich dachte, war die _Reference.js nicht richtig. Ich geändert:

/// <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" />

Die meisten Fehler verschwinden, aber 1 Fehler bleibt:

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

Könnte es sein, dass ich irgendwie einen zusätzlichen Verweis benötigen?

Edit:

Mein app.component.spec.ts wie folgt aussieht:

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 }); 
 
});

Und das .ts die app.component.spec.js erzeugt:

"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

Verwandte Themen