2016-07-21 16 views
0

Ich habe den yo eckigen 1 Generator verwendet und es hat eine Landing-Page und einige Tests erstellt. Ich bin nicht in der Lage, den Code in VS zu kompilieren, weil "module ('brunnenFooter');" ist nicht definiert.Winkeltest mit Karma

/// <reference path="../../typings/index.d.ts" /> 

import * as angular from 'angular'; 
import 'angular-mocks'; 
import {footer} from './footer.ts'; 

describe('footer component',() => { 
    beforeEach(() => { 
    angular 
     .module('fountainFooter', ['src/app/footer.html']) 
     .component('fountainFooter', footer); 
    module('fountainFooter'); 
    }); 

    it('should render \'FountainJS team\'', inject(($rootScope: ng.IRootScopeService, $compile: ng.ICompileService) => { 
    const element = $compile('<fountain-footer></fountain-footer>')($rootScope); 
    $rootScope.$digest(); 
    const footer = element.find('a'); 
    expect(footer.html().trim()).toEqual('FountainJS team'); 
    })); 
}); 

Ich vermute, dass das Modul das Modul in Winkel Mocks definiert ist, so habe ich versucht, das Modul als angular.mock.module zu erklären. aber wenn ich das tue bekomme ich diesen Fehler:

PhantomJS 2.1.1 (Windows 8 0.0.0) footer component should render 'FountainJS team' FAILED 
     TypeError: undefined is not an object (evaluating 'angular.mock.module') (line 21) 

Wie ich es verstehe, wird das Modul im Browserfenster deklariert. Nur Modul funktioniert mit gulp und systemjs. Wenn ich angular-mock.module benutze, dann ist VS und Typescript glücklich, aber von Fluch geht nichts.

Antwort

0

Dies ist eine Möglichkeit, dies zu tun.

Auch aus dem yo eckigen # 1-Generator, sondern mit Option Skript injizieren generiert.