I am trying to test the contents of my pages now that I have converted them to Lazy Loading with Ionic 3. However, I constantly get compile errors in the spec.ts file, as I am not sure how to build the individual test bed parts for tab pages in the application. I am trying to simply test a standard simple page generated with the ionic generate page command.
about.module.ts
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { AboutPage } from './about';
@NgModule({
declarations: [
AboutPage,
],
imports: [
IonicPageModule.forChild(AboutPage),
],
})
export class AboutPageModule {}
about.ts
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
@IonicPage()
@Component({
selector: 'page-about',
templateUrl: 'about.html',
})
export class AboutPage {
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad AboutPage');
}
}
Now I am trying to to create the test file:
about.spec.ts
import { TestBed, ComponentFixture, async, inject } from '@angular/core/testing';
import { IonicPageModule, NavController, NavParams } from 'ionic-angular';
import { AboutPage } from './about';
let comp: AboutPage;
let fixture: ComponentFixture<AboutPage>;
describe('About Page', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [AboutPage],
providers: [
NavController,
NavParams
],
imports: [
IonicPageModule.forChild(AboutPage)
]
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(AboutPage);
comp = fixture.componentInstance;
});
afterEach(() => {
fixture.destroy();
comp = null;
});
it('is created', () => {
expect(fixture).toBeTruthy();
expect(comp).toBeTruthy();
});
});
Errors:
Can't resolve all parameters for NavParams: (?).
15 | NavController,
16 | NavParams
> 17 | ],
18 | imports: [
19 | IonicPageModule.forChild(AboutPage)
20 | ]
at syntaxError (node_modules/packages/compiler/esm5/src/util.js:176:2)
at CompileMetadataResolver.Object.<anonymous>.CompileMetadataResolver._getDependenciesMetadata (node_modules/packages/compiler/esm5/src/metadata_resolver.js:1130:10)
at CompileMetadataResolver.Object.<anonymous>.CompileMetadataResolver._getTypeMetadata (node_modules/@angular/compiler/bundles/compiler.umd.js:15425:26)
at CompileMetadataResolver.Object.<anonymous>.CompileMetadataResolver._getInjectableMetadata (node_modules/@angular/compiler/bundles/compiler.umd.js:15405:21)
at CompileMetadataResolver.Object.<anonymous>.CompileMetadataResolver.getProviderMetadata (node_modules/packages/compiler/esm5/src/metadata_resolver.js:1305:14)
at node_modules/packages/compiler/esm5/src/metadata_resolver.js:1216:7
at Array.forEach (<anonymous>)
at CompileMetadataResolver.Object.<anonymous>.CompileMetadataResolver._getProvidersMetadata (node_modules/packages/compiler/esm5/src/metadata_resolver.js:1176:17)
at CompileMetadataResolver.Object.<anonymous>.CompileMetadataResolver.getNgModuleMetadata (node_modules/packages/compiler/esm5/src/metadata_resolver.js:744:10)
at JitCompiler.Object.<anonymous>.JitCompiler._loadModules (node_modules/packages/compiler/esm5/src/jit/compiler.js:211:72)
at JitCompiler.Object.<anonymous>.JitCompiler._compileModuleAndAllComponents (node_modules/packages/compiler/esm5/src/jit/compiler.js:189:35)
at JitCompiler.Object.<anonymous>.JitCompiler.compileModuleAndAllComponentsAsync (node_modules/@angular/compiler/bundles/compiler.umd.js:33443:37)
at CompilerImpl.Object.<anonymous>.CompilerImpl.compileModuleAndAllComponentsAsync (node_modules/packages/platform-browser-dynamic/esm5/src/compiler_factory.js:107:16)
at TestingCompilerImpl.Object.<anonymous>.TestingCompilerImpl.compileModuleAndAllComponentsAsync (node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic-testing.umd.js:369:31)
at TestBed.Object.<anonymous>.TestBed.compileComponents (node_modules/packages/core/esm5/testing/src/test_bed.js:355:23)
at Function.Object.<anonymous>.TestBed.compileComponents (node_modules/packages/core/esm5/testing/src/test_bed.js:198:33)
at src/pages/about/about.spec.ts:17:9
at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/http://ift.tt/2mqeUBI)
at AsyncTestZoneSpec.Object.<anonymous>.AsyncTestZoneSpec.onInvoke (node_modules/http://ift.tt/2qSUxlt)
at ProxyZoneSpec.Object.<anonymous>.ProxyZoneSpec.onInvoke (node_modules/http://ift.tt/2mpnkte)
at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/http://ift.tt/2mpngK0)
at Zone.Object.<anonymous>.Zone.runGuarded (node_modules/http://ift.tt/2r4hi5L)
at runInTestZone (node_modules/@angular/core/bundles/core-testing.umd.js:141:25)
at node_modules/@angular/core/bundles/core-testing.umd.js:80:13
at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/http://ift.tt/2mqeUBI)
at ProxyZoneSpec.Object.<anonymous>.ProxyZoneSpec.onInvoke (node_modules/http://ift.tt/2qSUt5d)
at ZoneDelegate.Object.<anonymous>.ZoneDelegate.invoke (node_modules/http://ift.tt/2mpngK0)
at Zone.Object.<anonymous>.Zone.run (node_modules/http://ift.tt/2qVxXs7)
at Object.testBody.length.done (node_modules/jest-zone-patch/index.js:51:29)
Aucun commentaire:
Enregistrer un commentaire