执行“ tns test android”时未定义文档

时间:2019-08-02 23:10:52

标签: jasmine nativescript

我为login.component.spec.ts创建了一个loginComponent。但是,当我运行tns test android时,TestBed.createComponent(LoginComponent)失败了。错误如下:

  

NativeScript / 29(10;为x86构建的Android SDK)LoginComponent   应该创建应用程序失败

     

失败:StaticInjectorError(DynamicTestModule)[TestComponentRenderer   -> InjectionToken DocumentToken]:

     

StaticInjectorError(平台:核心)[TestComponentRenderer->   InjectionToken DocumentToken]:未定义文档

     

错误属性:Object({ngTempTokenPath:null,ngTokenPath:[   Jasmine上的“'TestComponentRenderer',InjectionToken DocumentToken]})

我在网站上找不到有关我的问题的任何结果。感谢您的帮助。

我试图包括http模块,因为有人说未定义的文档可能是因为http。但是,它仍然不起作用。

这是login.component.spec.ts的代码:

import "core-js";

import "zone.js/dist/zone";

import "zone.js/dist/proxy";

import "zone.js/dist/sync-test";

import "zone.js/dist/async-test";

import "zone.js/dist/fake-async-test";

import "zone.js/dist/jasmine-patch";

import "zone.js/dist/long-stack-trace-zone";


import { ComponentFixture, async, TestBed} from '@angular/core/testing';

import { By } from '@angular/platform-browser';

import { NO_ERRORS_SCHEMA, DebugElement} from '@angular/core';

import { RouterTestingModule } from '@angular/router/testing';

import { Router } from '@angular/router';

import { ActivatedRoute } from "@angular/router";

import { RouterExtensions } from "nativescript-angular/router";

import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } 
from '@angular/platform-browser-dynamic/testing';


import { LoginComponent } from '~/pages/login/login.component'; 


describe ('LoginComponent', () => {

    beforeEach(async( () => {

        TestBed.resetTestEnvironment();

        TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
        TestBed.configureTestingModule({

            imports: [

                RouterTestingModule

            ],
            providers: [],

            declarations: [

                LoginComponent

            ],

            schemas: [

                NO_ERRORS_SCHEMA]

        }).compileComponents();

    }));

    it('Should create the app', async( () => {
        const fixture = TestBed.createComponent(LoginComponent);
        const app = fixture.debugElement.componentInstance;
        expect(app).toBeTruthy();
    }));
});

1 个答案:

答案 0 :(得分:0)

您使用的2.2.0-alpha02对{N}无效。您假设使用BrowserDynamicTestingModule形式的NativeScriptTestingModule