Не удается найти [formGroup] в угловом 6 модульном тесте - PullRequest
0 голосов
/ 07 ноября 2018

Допустим, я сохранил TDD для разработки новой функции. У меня есть тестовый сценарий, чтобы убедиться, что форма имеет атрибут [formGroup] со значением loginForm как

<form [formGroup]="loginForm"></form>

login.componenet.ts

export class LoginComponent implements OnInit {
    loginForm: FormGroup;

    constructor(private fb: FormBuilder) { }

    ngOnInit() {
        this.loginForm = this.fb.group({
            email: [''],
            password: ['']
        });
    }
}

login.componenet.spec.ts

describe('LoginComponent', () => {
    let component: LoginComponent;
    let fixture: ComponentFixture<LoginComponent>;

    beforeEach(async(() => {
        TestBed.configureTestingModule({
            imports: [
                ReactiveFormsModule
            ],
            declarations: [
                LoginComponent
            ]
        })
        .compileComponents();
    }));

    beforeEach(() => {
        fixture = TestBed.createComponent(LoginComponent);
        component = fixture.componentInstance;
        fixture.detectChanges();
    });

    it(`show have as formGroup 'loginForm'`, () => {
        const compiled = fixture.debugElement.nativeElement;
        console.log(compiled.querySelector('form'));
    })
});

Здесь я получил лог на консоли, как enter image description here

Итак, как мне пройти тест ИЛИ я не в том направлении, чтобы проверить сценарий?

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете использовать селектор css, чтобы получить вашу форму и проверить ее атрибут:

Что-то вроде:

fixture.debugElement.query(By.css('#myFormElement')).attributes['formGroup'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...