Ana içeriğe geç

ngMocks.formatText

ngMocks.formatText, testlerde daha basit metin beklentileri sağlamak için textContent'ı normalleştirmek amacıyla tasarlanmıştır.

ngMocks.formatText şunları kaldırır:

  • tüm html yorumları
  • tüm html etiketleri
  • boşluklar, yeni satırlar, sekmeler dizileri tek bir boşluk sembolü ile değiştirilir

ngMocks.formatText şunları kabul eder:

  • bir dize
  • HTMLElement, Text, Comment
  • DebugElement, DebugNode, ComponentFixture
  • bunların bir dizisi

kirli html

Bir HTML şöyle:

<div>
<!-- binding1 -->
<strong>header</strong>
<!-- binding2 -->
<ul>
<li>1</li>
<li>2</li>
</ul>
<!-- binding3 -->
</div>

Şuna dönüşür:

header 12

ng-container

bilgi

Harika bir şey, ngMocks.formatText'in arka planda ngMocks.crawl kullanması ve ng-container'a saygı duymasıdır.

Bu nedenle, ng-container'a bir işaretçimiz varsa, içeriğini doğrulayabiliriz.

<div>
&lt;
<ng-container block1>1</ng-container>
&amp;
<ng-container block2>2</ng-container>
&gt;
</div>
const div = ngMocks.find('div');
const block1 = ngMocks.reveal(div, ['block1']);
const block2 = ngMocks.reveal(div, ['block2']);

ngMocks.format(div);
// geri döner
// < 1 & 2 >

ngMocks.formatHtml(block1);
// geri döner
// 1
ngMocks.formatHtml(block2);
// geri döner
// 2
ipucu

ngMocks.formatText kullanırken, temizlenen metin çıktılarını kontrol etmek için test senaryolarınıza dikkat edin.