Jasmine, Chutzpah Ошибка: ReferenceError: Не удается найти переменную: требуется
Я пытаюсь написать модульные тесты для моего приложения Angular 2. Я использую Jasmine, Chutzpah в Visual Studio 2015. Когда у теста нет никаких зависимостей или требований, тогда тест работает. Но когда у теста есть один, то Тест не будет запущен.
В результате, когда я пытаюсь запустить тесты, я получаю:
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
Reference.js выглядит так:
/// <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" />
Я думаю, что-то не так в этом файле или что-то отсутствует.
1 ответ
Насколько я понимаю, _Reference.js был не прав. Я изменился на:
/// <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" />
Большинство ошибок исчезают, но 1 ошибка остается:
Error: ReferenceError: Can't find variable: require at global code in \scriptsapp\app.component.spec.js
Может быть, мне нужна дополнительная ссылка?
Редактировать:
Мой app.component.spec.ts выглядит так:
import { AppComponent } from "./app.component.js";
describe('MyList Tests', () => {
let list: AppComponent;
let test: 0;
beforeEach(() => {
list = new AppComponent();
test = 0;
});
it('Should 3 should be 5', () => {
expect(list.hero.name.length).toBe(5);
expect(5).toBe(3);
});
});
И этот.ts генерирует 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