首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在离子单元测试中没有发现HomePage元件工厂

在离子单元测试中没有发现HomePage元件工厂
EN

Stack Overflow用户
提问于 2018-01-22 22:15:48
回答 1查看 1.9K关注 0票数 1

我刚创建了一个带有Ionic cli的应用程序,使用带有菜单的模板。

我已经设置了所有的测试配置。我的TestBed看起来像这样

代码语言:javascript
复制
TestBed.configureTestingModule({
  declarations: [MyApp],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
  ],
  providers: [
    { provide: StatusBar, useFactory: () => StatusBarMock.instance() },
    { provide: SplashScreen, useFactory: () => SplashScreenMock.instance() },
  ],
});

模拟来自ionic-mocks

代码语言:javascript
复制
import { StatusBarMock, SplashScreenMock } from 'ionic-mocks';

我的考试通过了

代码语言:javascript
复制
beforeEach(() => {
  fixture = TestBed.createComponent(MyApp);
  component = fixture.componentInstance;
  fixture.detectChanges();
});

it('component is created', () => {
  expect(component).toBeTruthy();
});

但我得到了这个“警告”:

错误:“未处理的承诺拒绝:”,“没有为HomePage找到组件工厂。您是否将其添加到@NgModule.entryComponents中?”,

HomePageMyApp's @NgModule on entryComponents上,我必须把它也包括在TestBed上吗?怎么写?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-23 06:07:04

只需将组件添加到条目组件:

代码语言:javascript
复制
TestBed.configureTestingModule({
  declarations: [MyApp],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
  ],
  entryComponents: [MyApp]  <-------------------
});

也可以使用要测试的组件导入模块:

代码语言:javascript
复制
TestBed.configureTestingModule({
  declarations: [MyApp],
  imports: [
    AppModuleWithHomePageComponent,  <--------------
    BrowserModule,
    IonicModule.forRoot(MyApp),
  ],
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48391130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档