2017-01-09 2 views
7

Ich habe eine benutzerdefinierte Rohrleitung namens "myPipe". Ich bekomme die Pipe 'myPipe' konnte nicht gefunden werden Fehler in meinem Unit Test ts.Angular 2 Unit Test: Benutzerdefinierte Rohrfehler Die Rohrleitung konnte nicht gefunden werden

Pleas Ratschläge, was in meinem .spec.ts

hier ist mein .spec.ts

import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 
import { By } from '@angular/platform-browser'; 
import { DebugElement } from '@angular/core'; 

import { MyComponent } from './main-page-carousel.component'; 

describe('CarouselComponent',() => { 
    let component: MyComponent ; 
    let fixture: ComponentFixture<MyComponent>; 

    beforeEach(async(() => { 
    TestBed.configureTestingModule({ 
     declarations: [ MyComponent ], 
    }) 
    .compileComponents(); 
    })); 

    beforeEach(() => { 
    fixture = TestBed.createComponent(MyComponent); 
    component = fixture.componentInstance; 
    fixture.detectChanges(); 
    }); 

    it('should create',() => { 
    expect(component).toBeTruthy(); 
    }); 
}); 

Dank importieren und erklären!

+0

Sie sprechen über 'myPipe', aber Ihr Test bezieht sich auf eine' CarouselComponent'? Sie sollten stattdessen 'myPipe' nicht importieren? –

+0

Überprüfen Sie auch diesen Eintrag "pipe not found": http://stackoverflow.com/questions/39007130/the-pipe-could-not-be-ound-angular2-custom-pipe/40770507#40770507 – Karl

Antwort

0

sollten Sie so etwas wie

import { TestBed, async } from '@angular/core/testing'; 
import { MyPipe } from 'here put your custom pipe path'; 

describe('Pipe: MyPipe',() => { 
    it('create an instance',() => { 
    let pipe = new MyPipe(); 
    expect(pipe).toBeTruthy(); 
    }); 
}); 
0

beginnen hatte ich das gleiche Problem, und es behoben, indem folgende „Pseudo-Rohr“ zu meinen spec.ts:

import {Pipe, PipeTransform} from '@angular/core'; 

@Pipe({name: 'myPipe'}) 
class MockPipe implements PipeTransform { 
    transform(value: number): number { 
     // blah blah 
     return value; 
    } 
} 

Dann müssen Sie MockPipe die TestBed configureTestingModule Erklärungen hinzu:

TestBed.configureTestingModule({ 
    declarations: [ MyComponentUnderTesting, MockPipe ] 
}) 
10

sollten Sie in der Lage sein, dies zu tun:

import { MyPipe } from 'here put your custom pipe path'; 
    TestBed.configureTestingModule({ 
    declarations: [ MyComponentUnderTesting, MyPipe ] 
    }) 
Verwandte Themen