Все тесты в документации имеют перенастраиваемый стенд перед выполнением каждого теста.Конечно, приведенное ниже должно быть более эффективным и будет означать, что тесты будут выполняться значительно быстрее.
по какой-то причине beforeAll для настройки испытательного стенда и beforeEach для создания осветителя не работает из-за ошибки зоны, но вложенный шаблон описания работает.
describe('The shared form component:', () => {
let fixture: ComponentFixture<FormComponent>;
let component: FormComponent;
let httpClient: HttpClient;
let httpTestingController: HttpTestingController;
// setup testbed before all tests run to improve tests speed
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
SharedTestModule,
FormsModule,
ReactiveFormsModule,
],
declarations: [
DateFieldsInputComponent,
PasswordValidatorDirective,
FormComponent,
],
providers: [
{ provide: ApiBaseService, useValue: {} }
]
}).compileComponents();
httpClient = TestBed.get(HttpClient);
httpTestingController = TestBed.get(HttpTestingController);
}));
describe('A basic form with text input fields', () => {
beforeEach(async(() => {
fixture = TestBed.createComponent(FormComponent);
component = fixture.componentInstance;
}));
afterEach(() => {
// After every test, assert that there are no more pending requests.
httpTestingController.verify();
});
it('should create the component', () => {
expect(component).toBeTruthy();
});
});
});