2016-06-03 4 views
0

Also habe ich ein bisschen Code, den ich versuche, mit einer Spezifikation zu testen.Inject wird nicht mit Jasmine-Tests für Angular2 funktionieren (das Versprechen ist nicht schwebend)

import {beforeEachProviders, inject} from '@angular/core/testing'; 
import {TestComponentBuilder} from '@angular/compiler/testing'; 

describe('TestComponent',() => { 
    it('should fail', inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { 
     expect(1).toBe(2); 
    })); 
}); 

Diese im Fehler führt: Kein Anbieter für TestComponentBuilder!

ich einige Plausibilitätsprüfung Tests haben unten und sie arbeiten:

it('true is true',() => expect(true).toEqual(true)); 
it('null is not the same thing as undefined', 
    () => expect(null).not.toEqual(undefined) 
    ); 

In PyCharm ich einen Fehler mit inject bekommen, es sagt mir: Argument vom Typ ‚Funktion‘ ist nicht zuordenbare Parameter tippe '(done: DoneFn) => void'. Type 'Function' liefert keine Übereinstimmung für die Signatur '(done: DoneFn): void'.

Jede Hilfe ist willkommen, ich erwarte ich einige alte Implementierung von Inject verwenden, aber ich kann eine neue Dokumentation finden :)

Antwort

2

ich mit einer before() Aussage den gleichen Fehler hatte. Sie müssen "it" von @angular/core/testing importieren. Die grundlegende Funktion von Jasmine kann die Rückkehr von inject() nicht erhalten.

import {beforeEachProviders, inject, it} from '@angular/core/testing'; 

Das obige sollte genug sein.

fand ich die Lösung in dieser Frage: https://stackoverflow.com/a/35589775/2683681

+0

, dass einer meiner Probleme löst, aber ich habe immer noch das Problem habe, wo es mir sagt, ich habe keinen Anbieter für die TestComponentBuilder. 'Fehler: Kein Provider für TestComponentBuilder!' – Corey

+0

Dies ist, weil Sie 'beforeEachProviders' wie in diesem [Link] verwenden müssen (https://gist.github.com/gsans/b30f6c9ddb7d6503ea23#file-greeter-spec-js). Aus diesem [guten Medienartikel] (https://medium.com/google-developer-experts/angular-2-unit-testing-with-jasmine-defe20421584#.8pcj1qdex) –

Verwandte Themen