Я пытаюсь проверить компонент с контроллером, с некоторыми креплениями:Углового 1,5 компонент модульного тестирования с WebPack
class AppSpecificController {
constructor() {
this.text = this.initialText ? this.initialText : 'No initial text has been specified.';
}
}
export const AppSpecificComponent = {
bindings: {
'initialText': '<bindInitialText'
},
templateUrl: '/app/components/app-specific/app-specific.html',
controller: AppSpecificController,
controllerAs: 'appSpecific'
};
export default AppSpecificComponent;
В моем блоке тестового файла я не хочу, чтобы загрузить полное приложение, просто вещи, в которых я нуждаюсь. Так я понял, издеваться модуль или просто создайте новый с именем что-то с притворным, добавить компонент этого модуля и загрузить модуль:
import {AppSpecificComponent} from './app-specific.component';
describe('AppSpecificComponent',() => {
let controller;
let scope;
let $componentController;
beforeEach(() => {
angular.module('mock-module', [])
.component('appSpecific', AppSpecificComponent);
// this fails
module('mock-module');
inject((_$componentController_, $rootScope) => {
scope = $rootScope.$new();
$componentController = _$componentController_;
});
controller = $componentController('appSpecific', {$scope: scope}, {initialText: 'Some text'});
});
it('should test something',() => {
expect(true).toBeTruthy();
});
});
Создание модуля издеваться-модуль отлично, но загрузка он терпит неудачу , и, очевидно, впрыскивание материала из не очень загруженного модуля выходит из строя, а также создание контроллера, на котором я могу начать тестирование. Было бы неплохо проверить компоненты отдельно, отдельно от приложения, в котором оно выполняется.
Только с помощью нового оператора для класса AppSpecificController не работает с тех пор привязок, которые вы получаете от компонента, не существует:
// fails, no bindings available in controller
controller = new AppSpecificController();
Эй, Крис, Вы решили эту проблему? – Ricardas
А, да, я добавлю ответ. –