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

Другие вопросы по тегам