Z materiału, który czytam na Jasmine, testują tylko plik .js
. Ale co, jeśli test jest na stronie internetowej, powiedzmy, z kodem:Jak napisać test Jasmine dla strony z HTML i JavaScript lub jQuery?
try.html:
<input id="the-input"></input>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$("#the-input").focus(function() {
$(this).css("background", "#ff9");
});
$("#the-input").blur(function() {
$(this).css("background", "#cff");
});
</script>
który jest po prostu powiedzieć, jeśli użytkownik kliknie na (lub zakładka do) pole wejściowe , spraw, aby tło pola było żółte, a gdy się wyostrzy, ustaw je na jasnoniebieskie. W takim przypadku jak przetestować powyższe zachowanie w pliku .html? (gdzie powinien być ten plik html - czy może być gdziekolwiek poza plikiem lib Jasmine i SpecRunner.html, i jak SpecRunner.html uwzględnia go jakoś przetestować stronę?
A jsfiddle znajduje się pod adresem: http://jsfiddle.net/MspUF/
Aktualizacja:. to jest w porządku, aby oddzielić zawartość HTML i kod JavaScript, ale jeszcze, jakie są specyfiki, aby móc go przetestować
masz na myśli, że jeśli mój plik HTML jest skomplikowany, na przykład taki, który ma 200 lub 500 linii, to muszę wyśmiać je wszystkie zamiast używać pliku HTML, jak jest? (i jak to "wyśmiać"?). To, co muszę przetestować, to to, że gdy użytkownik kliknie, tło zmieni się. –
W takim przypadku sama Jasmine prawdopodobnie nie jest odpowiednim narzędziem dla ciebie, sprawdź PhantomJS lub Selenium, PhantomJS współpracuje z Jasmine, symuluje przeglądarkę internetową i pozwala przetestować twój kod, brzmi jak dokładnie to, czego potrzebujesz. –
PhantomJS będzie oparty na terminalach? W pracy mój współpracownik ustawił wszystko tak, że jeśli jest 20 plików HTML, wszystkie używają różnych plików '.js', wtedy można przetestować wszystkie 20 plików HTML, wszystkie w przeglądarce Chrome lub Safari ... i raport dla wszystkich 20 Pliki HTML faktycznie wyświetlają się jako jedna strona wyglądająca jak "SpecRunner.html". Nie mogę go zapytać, jak to się robi, dopóki kilka dni później –