在角茉莉花测试用例中导入应用程序常量错误

时间:2018-01-12 08:47:04

标签: javascript angular jasmine karma-jasmine

在component.spec中导入组件时,endponitConfig将错误视为 ReferenceError:未定义endponitConfig

compoent.ts

import { Component, Type, OnInit, ViewEncapsulation, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { Http, Response, Headers } from '@angular/http';
import { DriverService } from '../../services/driver.service';

import { endponitConfig } from '../../../../environments/endpoints';


@Component({
  templateUrl: './drivers.list.component.html',
})
export class DriversListComponent {
  //calling const form endpoint file
  let driverEndpoint=endponitConfig.DRIVER_API_ENDPOINT;
    //logic 
}

endpoints.ts包含

export const endponitConfig: any = {
   // Custom URL End Points
  LOAD_API_ENDPOINT: '/dashboard/api/loadAppointments/',
   LOAD_APPOINTMENT_API_ENDPOINT:'/dashboard/api/loadAppointmentType/',
   DRIVER_API_ENDPOINT: '/dashboard/api/drivers/',
};

component.spec.ts

import { MockBackend } from '@angular/http/testing';
import { ModalDirective } from 'ngx-bootstrap';
import { DriverService } from '../../services/driver.service';
import { CommonModule, } from '@angular/common';
import { BaseRequestOptions, XHRBackend, Http, HttpModule } from '@angular/http';
import { SmartadminModule } from "../../../shared/smartadmin.module";
import { SmartadminDatatableModule } from "../../../shared/ui/datatable/smartadmin-datatable.module";
import { DataTableModule } from "angular2-datatable";
import { RouterTestingModule } from '@angular/router/testing';
import { Router, ActivatedRoute } from "@angular/router";
import { routing } from '../../drivers.routing';
import { ComponentLoaderFactory } from 'ngx-bootstrap';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
import { DriversListComponent } from './drivers.list.component';
import { MyDatePickerModule } from 'mydatepicker';
import { SelectModule } from 'angular2-select';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { CoreModule } from "../../../core/core.module";
import { BrowserModule } from '@angular/platform-browser';
import { endponitConfig } from '../../../../environments/endpoints';
let MockDriverArray = [
    {
        "id": 22,
        "firstName": "Aaron",
        "lastName": "Maisie",
        "email": "aaron@test.net",
        "phoneNumber": "2602185194",

    }
];

describe('Driver list component', () => {
    let driverListComponent: DriversListComponent;
    let fixture: ComponentFixture<DriversListComponent>;
    let router: Router;
    let driverService, mockBackend;
    beforeEach(async(() => {
        TestBed.configureTestingModule({
            declarations: [DriversListComponent],
            imports: [SmartadminModule,
                SmartadminDatatableModule,
                MyDatePickerModule,
                CommonModule,
                SelectModule,
                ReactiveFormsModule,
                FormsModule,
                // routing,
                DataTableModule,
                MyDatePickerModule,
                BrowserModule,
                // Error500Module,
                CoreModule,
                HttpModule,
                RouterTestingModule.withRoutes([{
                    path: '', component: DriversListComponent
                }])],
            schemas: [NO_ERRORS_SCHEMA],
            providers: [
                DriverService,
                MockBackend,
                { provide: XHRBackend, useClass: MockBackend }
            ]
        })
            .compileComponents();
        router = TestBed.get(Router);

        fixture = TestBed.createComponent(DriversListComponent);
        driverListComponent = fixture.componentInstance;
        driverService = TestBed.get(DriverService);
        mockBackend = TestBed.get(MockBackend);
        fixture.detectChanges();
    }));


    it('Driver Service should be defined', () => {
        expect(driverService).toBeDefined();
    });


    it('Driver list page is loaded', () => {
        expect(driverListComponent).toBeTruthy();
    });


    describe('Functional', () => {
        it('should navigate to the update page for the driver.id of the driver passed in.', () => {
            spyOn(router, 'navigate');
            driverListComponent.goToUpdateDriverDetials(MockDriverArray[0]);
            expect(router.navigate).toHaveBeenCalled();
            expect(router.navigate).toHaveBeenCalledTimes(1);
            expect(router.navigate).toHaveBeenCalledWith(['/drivers/updateDriver', MockDriverArray[0].id]);
        });
    })
});

执行spec文件时抛出错误 ReferenceError:endponitConfig未定义

ReferenceError: endponitConfig is not defined
    at Plugin.init (http://localhost:9876/base/src/test.ts?32930bead8e68a3814014a7f2e341a3b291fe038:145039:22)
    at new Plugin (http://localhost:9876/base/src/test.ts?32930bead8e68a3814014a7f2e341a3b291fe038:144781:14)
    at HTMLElement.<anonymous> (http://localhost:9876/base/src/test.ts?32930bead8e68a3814014a7f2e341a3b291fe038:146128:48)
    at Function.each (http://localhost:9876/base/node_modules/jquery/dist/jquery.min.js?1055018c28ab41087ef9ccefe411606893dabea2:2:2715)
    at r.fn.init.each (http://localhost:9876/base/node_modules/jquery/dist/jquery.min.js?1055018c28ab41087ef9ccefe411606893dabea2:2:1003)
    at r.fn.init.Array.concat.$.fn.(anonymous function) [as jarvisWidgets] (http://localhost:9876/base/src/test.ts?32930bead8e68a3814014a7f2e341a3b291fe038:146123:21)
    at WidgetsGridComponent.Array.concat.WidgetsGridComponent.ngAfterViewInit (http://localhost:9876/base/src/test.ts?32930bead8e68a3814014a7f2e341a3b291fe038:128191:51)
    at callProviderLifecycles (http://localhost:9876/base/src/test.ts?32930bead8e68a3814014a7f2e341a3b291fe038:11542:18)
    at callElementProvidersLifecycles (http://localhost:9876/base/src/test.ts?32930bead8e68a3814014a7f2e341a3b291fe038:11517:13)
    at callLifecycleHooksChildrenFirst (http://localhost:9876/base/src/test.ts?32930bead8e68a3814014a7f2e341a3b291fe038:11501:17)

请帮忙......

角度

中的单元测试用例的新功能

0 个答案:

没有答案