Я использую карму, жасмин, typescript, чтобы написать unit test для приложения helloworld из https://angular.io/docs/js/latest/quickstart.html.
Ниже приведен тестовый код:
///<reference path="../typings/jasmine/jasmine.d.ts"/>
import {
MyAppComponent
} from '../spray1';
describe("name is Alice", () => {
var comp = new MyAppComponent();
it("verify name", () => {
expect(comp.name).toBe("Alice");
});
});
tsc (с "-module commonjs" ) транслирует этот тестовый код в:
///<reference path="../typings/jasmine/jasmine.d.ts"/>
var spray1_1 = require('../spray1');
describe("name is Alice", function () {
var comp = new myAppComponent_1.MyAppComponent();
it("verify name", function () {
expect(comp.name).toBe("Alice");
});
});
karma не запускает unit test:
Ошибка поиска: имя модуля "../myAppComponent" еще не загружено для контекста: _. Используйте require ([]) http://requirejs.org/docs/errors.html#notloaded at/Пользователи/spray1/web2/node_modules/requirejs/require.js:141
Chrome 43.0.2357 (Mac OS X 10.10.3): Выполнено 0 из 0 УСПЕХ (0 сек /0 сек)
Если я использую tsc с "--module amd", тестовый код переполнения:
define(["require", "exports", '../spray1'], function (require, exports, spray1_1) {
describe("name is Alice", function () {
var comp = new spray1_1.MyAppComponent();
it("verify name", function () {
expect(comp.name).toBe("Alice");
});
});
});
"karma start test/karma.conf.js" бросил ниже ошибку в файлах transpiled js:
Непринятая ошибка: Неисправен анонимный метод define(): функция (require, exports, spray1_1) { описать ( "name is Alice", function() { var comp = new spray1_1.MyAppComponent(); it ( "verify name", function() { ожидать (comp.name).toBe( "Алиса" ); }); }); } http://requirejs.org/docs/errors.html#mismatch в /Users/spray 1/web2/node_modules/requirejs/require.js:141 Chrome 43.0.2357 (Mac OS X 10.10.3): Выполнено 0 из 0 ОШИБКА (0,04 сек /0 сек)
Как вы видите, у меня есть проблемы с тем, чтобы он работал в любом случае (--module commonjs/amd). Каким образом это правильный путь и как заставить его работать? Цените любую помощь!