My <custom-directive>
ha e template: '<img />'
. Come posso scrivere un test unitario per questo? Penso di voler testare che in realtà sostituisce la direttiva personalizzata con img.AngularJS testare una direttiva con replace impostato su true
it('should be transformed to <img>', function(){
var elm = $compile('<custom-directive></custom-directive>')(scope);
scope.$digest();
var t = elm.find('img'); // wrong! it replaces the element. it won't find another one inside
//expect(elm).toBeAnImgElement ?
});
Non riesco a trovare l'elemento di corrispondenza corretto. Il caso più vicino che ho visto è il controllo dei contenuti (elm.html()
o elm.text()
) ma il mio tag è vuoto.
Perché abbiamo bisogno di '$ rootScope $ digest();' qui.? In effetti, non funziona senza di esso, ma non capisco perché. – thorn
@thorn: Sì, non è necessario. – codef0rmer
No, lo è. Come ho scritto, non funziona senza di esso. – thorn