Can't resolve all parameters for Router: (?, ?, ?, ?, ?, ?, ?) in Angular RC 5 when unit testing

前端 未结 8 1458
闹比i
闹比i 2020-12-24 10:30

I just upgraded to Angular RC 5 and now all component that uses \'ROUTER_DIRECTIVES\' fails with \'Can\'t resolve all parameters for Router: (?, ?, ?, ?, ?, ?, ?)\' when I t

8条回答
  •  醉话见心
    2020-12-24 11:10

    I was getting the same error, importing RouterTestModule in my imports array, and removing Router/ActivatedRoute from providers and also removing RouterModule from my imports array helped me to get over this issue.

    This is how my working version looks like

    import { RouterTestingModule } from '@angular/router/testing';
    import { async, ComponentFixture, TestBed } from '@angular/core/testing';
    import { FormsModule } from '@angular/forms';
    import { MyAppComponent } from './my-apppp.component';
    import { MyAppService } from '../../../services/my-app.service';
    import { NO_ERRORS_SCHEMA} from '@angular/core';
    
     beforeEach(async(() => {
        TestBed.configureTestingModule({
          declarations: [ MyAppComponent ],
          schemas:      [NO_ERRORS_SCHEMA],
          imports: [ FormsModule, RouterTestingModule ],
          providers: [ MyAppService ]
        })
        .compileComponents();
      }));
    

    I know a lot of people already commented in here, but I felt like providing a updated answer would be helpful.

    Thanks!

提交回复
热议问题