「myPipe」というカスタムパイプがあります。パイプ 'myPipe'がユニットテストtsでエラーを検出できませんでした。
.spec.tsで何をインポートして宣言するかアドバイスしてください
ここに私の.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();
});
});
ありがとう!
これができるはずです:
import { MyPipe } from 'here put your custom pipe path';
TestBed.configureTestingModule({
declarations: [ MyComponentUnderTesting, MyPipe ]
})
私も同じ問題を抱えていたので、次の「モックパイプ」をspec.tsに追加して修正しました。
import {Pipe, PipeTransform} from '@angular/core';
@Pipe({name: 'myPipe'})
class MockPipe implements PipeTransform {
transform(value: number): number {
// blah blah
return value;
}
}
次に、MockPipeをTestBed configureTestingModule宣言に追加する必要があります。
TestBed.configureTestingModule({
declarations: [ MyComponentUnderTesting, MockPipe ]
})
あなたは次のようなものを始めるべきです
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();
});
});