Wir verwenden istanbul für die Codeabdeckung in unseren Karmatests. Dies funktioniert hervorragend, um die Codeabdeckung unserer Komponententests in JavaScript nachzuverfolgen. Dies erfasst jedoch nicht die Codeabdeckung in unseren HTML-Vorlagen.Codeabdeckung für AngularJS HTML-Vorlagen
Wir haben sehr wenig Logik in unseren Vorlagen, aber es gibt immer noch Komplexität, die wir verfolgen und sicherstellen möchten, dass wir in unseren Tests richtig behandelt haben. Was sind die besten Praktiken, um sicherzustellen, dass Sie alle Ihre HTML-Vorlagen korrekt abdecken? In unserem speziellen Fall verwenden wir ng-if und ng-switch. Wir möchten sicherstellen, dass alle Filialen ordnungsgemäß abgedeckt sind.
Danke, wir verwenden Winkelmesser für bestimmte Arten von Tests. Sie sind auf Integrationstests von Frontend + Backend ausgerichtet. Diese Tests werden zum Testen von Benutzerszenarien verwendet und sind keine Komponententests. Die Codeabdeckung ist für diese Tests nicht relevant (Szenarioabdeckung). Wir haben Komponententests, die die Interaktion mit dem DOM testen (wobei das Backend ausgedruckt wird). Und wir behalten unsere JS-Codeabdeckung im Auge, aber wir haben keine Möglichkeit, unsere Vorlagenabdeckung nachzuverfolgen. –
Ich verstehe dieses Problem. Ich kenne derzeit keine Lösungen. Es wäre eine interessante Open-Source-Gabel von Istanbul, um HTML zu testen. – Adam
Ja, es müsste tief in das Template-System von angular eingetaucht werden, da es eine Abdeckung über die kompilierte Vorlage durchführen müsste und dann die Coverage irgendwie auf die Originaldatei abbilden müsste. Nicht einfach. –