2016-05-03 21 views
0

私はDOMを操作するangularjs命令をテストしています。Jasmine - DOM要素を取得できません

私はJasmine仕様で要素を取得しようとしていますので、このディレクティブの機能をテストできます。ただし、document.getElementsByClassNameまたはTagNameまたはIDを使用すると、何も返されません。誰にもこれについてのアイデアはありますか?

html = document.getElementsByClassName('analog'); 
console.dir(html); 
+0

おそらく、照会しようとしている要素がドキュメントに添付されていない可能性があります。 Angularsのテストツールでは、要素をドキュメントに追加しない可能性がありますか?他人があなたの問題を再現できるように[MCVE](http://stackoverflow.com/help/mcve)を作成してください。 –

答えて

0

あなたはなど、ヘッドレスブラウザ/クロームでテストを作成する場合は、ダミーのオブジェクトを追加することができ、例えばjQueryのノード、そしてafterEachにそのノードを削除します。

など。

beforeEach(() => { 
    var mockHtml = $('<div class="form-group" style="position: absolute;left: -10000px;"><input class="testInput" id="some_input"></div>'); 
    $('body').append(mockHtml); 
}); 

afterEach(() => { 
    $('.form-group').remove(); 
}); 
関連する問題