Skip to content

Unit Testing - ZoneAwareError when running unit tests #2133

Open
@aubrey-fowler

Description

@aubrey-fowler

I'm writing an app with NativeScript 6+ and Angular 8+. I'm trying to write some unit tests and get them up and running.

I have read the documentation on unit testing: https://docs.nativescript.org/tooling/testing/testing

I ran tns test init and tns test android to prepare my tests. I followed the directions there for setting up the tests and using TestBed. My tests are not working and throwing errors. Here is my repository: https://github.com/aubrey-fowler/NativeScriptUnitTests

sample test:

import { ItemsComponent } from '../app/item/items.component';
import { ItemService } from '../app/item/item.service';

import { nsTestBedAfterEach, nsTestBedBeforeEach, nsTestBedRender } from 'nativescript-angular/testing';

describe('ItemsComponent Test', () => {

    beforeEach(nsTestBedBeforeEach([ItemService, ItemsComponent]));
    afterEach(nsTestBedAfterEach(false));

    it('should be defined', () => {

        nsTestBedRender(ItemsComponent).then((fixture) => {
            fixture.detectChanges();
            const component = fixture.componentInstance;
            expect(component).toBeTruthy();
        });

    });

});

When I run my tests, I'm getting this error:

NativeScript / 29 (10; SM-G960F) ItemsComponent Test should be defined FAILED
        error properties: Object({ originalStack: 'Error: Can't resolve all parameters for ApplicationModule: (?).
            at ZoneAwareError (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:85903:33)
            at syntaxError (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:9475:17)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getDependenciesMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28631:35)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getTypeMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28523:26)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28391:24)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/com ...
        Error: Can't resolve all parameters for ApplicationModule: (?).
            at ZoneAwareError (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:85903:33)
            at syntaxError (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:9475:17)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getDependenciesMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28631:35)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getTypeMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28523:26)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28391:24)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleSummary (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28201:35)
            at file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28288:55
            at <Jasmine>
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28266:49)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleSummary (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28201:35)
            at file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28288:55
            at <Jasmine>
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28266:49)
            at JitCompiler.push.../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._loadModules (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:34433:51)
            at JitCompiler.push.../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:34421:36)
        error properties: Object({ originalStack: 'Error: Can't resolve all parameters for ApplicationModule: (?).
            at ZoneAwareError (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:85903:33)
            at syntaxError (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:9475:17)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getDependenciesMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28631:35)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getTypeMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28523:26)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28391:24)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/com ...
        Error: Can't resolve all parameters for ApplicationModule: (?).
            at ZoneAwareError (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:85903:33)
            at syntaxError (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:9475:17)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getDependenciesMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28631:35)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getTypeMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28523:26)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28391:24)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleSummary (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28201:35)
            at file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28288:55
            at <Jasmine>
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28266:49)
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleSummary (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28201:35)
            at file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28288:55
            at <Jasmine>
            at CompileMetadataResolver.push.../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:28266:49)
            at JitCompiler.push.../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._loadModules (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:34433:51)
            at JitCompiler.push.../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents (file:///data/data/org.nativescript.UnitTesting/files/app/vendor.js:34421:36

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions