【发布时间】:2021-05-21 14:36:35
【问题描述】:
我正在尝试测试一个使用来自 ngx-translate 的翻译管道的组件,但无法构建测试模块。
component.html
<div class="container">
<div class="row">
<div class="col-12 my-4">
<h1>
{{'private.title' | translate }}
</h1>
</div>
</div>
</div>
组件.ts
....
constructor(
public itemsService: ItemsService,
private sortPipe: OrderByPropertyNamePipe,
private cdr: ChangeDetectorRef,
private modalService: ModalService
) { }
....
因此,除了 HTML 文件中的翻译管道,您看不到任何关于 ngx-translate 的内容。
component.spec.ts 文件
describe('Component', () => {
describe('Default', () => {
let component: Component;
let fixture: ComponentFixture<Component>;
let debugElement: DebugElement;
beforeEach(
waitForAsync(() => {
TestBed.configureTestingModule({
imports: [
HttpClientTestingModule,
TranslateModule.forRoot(),
],
providers: [
ItemsService,
OrderByPropertyNamePipe,
],
})
.overrideComponent(Component, {
set: { changeDetection: ChangeDetectionStrategy.Default }
})
.compileComponents();
}),
);
beforeEach(() => {
fixture = TestBed.createComponent(Component);
component = fixture.componentInstance;
debugElement = fixture.debugElement;
component.allItems = MOCK_ITEMS;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
});
抛出
NG0302:找不到管道“翻译”!
我尝试将模拟管道创建为https://stackoverflow.com/a/57604396/8889351,但也不起作用
有人知道如何正确构建测试模块吗?
提前致谢
【问题讨论】:
标签: angular jestjs ngx-translate