Reputation: 4309
This question describes how to update Angular 2 after the beforeEachProviders
function was deprecated.
But having done that, I get the error Cannot read property 'injector' of null
My test is relatively basic:
import { inject, addProviders } from '@angular/core/testing';
import { MyComponent } from './my.component';
describe('Foo', () => {
beforeEach(() => {
addProviders([{
provide: MyComponent,
useClass: MyComponent
}]);
});
it('foo', inject([MyComponent], (e: MyComponent) => {
expect(true).toEqual(true);
}));
});
Upvotes: 3
Views: 4744
Reputation: 3261
addProviders is also deprecated is favor of TestBed.
import { TestBed, async } from '@angular/core/testing';
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
import { MyComponent } from './my.component';
// This should only be called once.
TestBed.initTestEnvironment(
BrowserDynamicTestingModule, platformBrowserDynamicTesting());
describe('Foo', () => {
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [MyComponent],
});
TestBed.compileComponents();
});
it('foo', async(() => {
let fixture = TestBed.createComponent(MyComponent);
fixture.detectChanges();
expect(true).toEqual(true);
}));
});
Angular2 RC5
Upvotes: 5