Ich arbeite an einer Backbone.js-Anwendung und beim Hinzufügen von Tests mit Jasmine & amp; Sinon Ich hatte Probleme, die Sichtbarkeit einiger DOM-Elemente zu bestimmen: einige von ihnen wurden in den Tests als nicht sichtbar erkannt, während ich sie in meiner Anwendung richtig sehen konnte.
Ich habe ein kleines Beispiel erstellt, das das Problem repliziert. Derselbe Test wird zweimal für zwei Sätze von Elementen ausgeführt:
Der Test selbst verwendet jQuery.is(':visible')
(über Jasmine-jquery's .toBeVisible()
), um zu wissen, ob Elemente sichtbar sind oder nicht. Es gilt für den ersten Satz, nicht für den zweiten.
Ich habe den Code hier als Github-Projekt geteilt: Ссылка
Ich glaube, ich habe etwas vergessen, oder vielleicht eine Bibliothek missbraucht, aber ich kann nicht meinen Finger darauf legen, wenn Sie irgendeine Ahnung haben ...:)
Danke! Maxime
Das Problem ist, dass Ihr StuffView.el
nicht an DOM angehängt ist und daher immer nicht sichtbar ist. Vermutlich missverstehen Sie die Parameter className
und tagName
: Sie werden nicht als Selektoren verwendet, sondern um ein brandneues Element zu konstruieren.
Dies behebt den zweiten Test.
%Vor%Alternativ können Sie die Ansicht im Test manuell an DOM anhängen
%Vor%Tags und Links javascript jquery backbone.js jasmine sinon