Почему все тестовые примеры угловых компонентов показывают неэффективный способ выполнения тестов компонентов? - PullRequest
0 голосов
/ 22 ноября 2018

Все тесты в документации имеют перенастраиваемый стенд перед выполнением каждого теста.Конечно, приведенное ниже должно быть более эффективным и будет означать, что тесты будут выполняться значительно быстрее.

по какой-то причине 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();
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...