Ana içeriğe geç

ngMocks.touch

ngMocks.touch, bir form kontrolünün dış dokunuşlarını simüle etmeye yardımcı olur. Form kontrolünün bir mock örneği mi yoksa gerçek bir örnek mi olduğu önemli değildir.

ipucu

Form kontrollerinin test edilmesinde ngMocks.touch kullanımı, test sürecini büyük ölçüde hızlandırır ve kolaylaştırır.

Bir dokunuş simüle etmek için, form kontrolünün ait olduğu bir debug elementi gereklidir.

Aşağıdaki şablona sahip olduğumuzu varsayalım:

<input data-testid="inputControl" [formControl]="myControl" />

Ve, input'un dokunuşunu simüle etmek istiyoruz.

O zaman çözüm şöyle görünebilir:

// input'un debug elementini arama
const el = ngMocks.find(['data-testid', 'inputControl']);

// dokunuşu simüle etme
ngMocks.touch(valueAccessorEl);

// doğrulama
expect(component.myControl.touched).toEqual(true);
bilgi

Alternatif olarak, ngMocks.find tarafından desteklenen seçicilerle daha basit bir şekilde de dokunuş simüle edilebilir:

ngMocks.touch(['data-testid', 'inputControl']);
ngMocks.touch('input');
ngMocks.touch('[data-testid="inputControl"]');

Kazanç!
— ngMocks kütüphanesi ile form kontrol testlerinde kolaylık sağlar.