Trong tài liệu tôi đọc trên Jasmine, họ chỉ kiểm tra tệp .js
. Nhưng nếu thử nghiệm trên một trang web, chẳng hạn, với các mã:Làm thế nào để viết một bài kiểm tra Jasmine cho một trang web có HTML và JavaScript hoặc 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>
mà chỉ là để nói, nếu người dùng nhấp vào (hoặc tab để) hộp nhập liệu , làm cho nền của hộp màu vàng, và khi tập trung ra, sau đó làm cho nó ánh sáng màu xanh. Trong trường hợp này, làm cách nào để kiểm tra hành vi trên trong tệp .html? (tệp html này nên ở đâu - có thể là bất kỳ nơi nào bên ngoài tệp lib Jasmine và SpecRunner.html và cách SpecRunner.html bao gồm nó bằng cách nào đó để kiểm tra trang này?
cập nhật:. nó là tốt để tách các nội dung HTML và mã JavaScript, nhưng vẫn còn, các chi tiết cụ như để có thể kiểm tra nó là gì
ý của bạn là, nếu tệp HTML của tôi phức tạp, chẳng hạn như tệp có 200 hoặc 500 dòng, thì tôi phải giả lập tất cả thay vì sử dụng tệp HTML? (và làm thế nào để "thử nó lên"?) Những gì tôi cần phải kiểm tra là, khi người dùng nhấp vào nó, nền thay đổi –
Trong trường hợp đó Jasmine một mình có lẽ không phải là công cụ phù hợp với bạn, hãy kiểm tra PhantomJS hoặc Selenium, PhantomJS hoạt động với Jasmine, nó mô phỏng một trình duyệt web và cho phép bạn kiểm tra mã của bạn, nó giống như những gì bạn cần. –
PhantomJS sẽ là tất cả các thiết bị đầu cuối dựa? Tại nơi làm việc, đồng nghiệp của tôi thực sự thiết lập để tất cả 20 tệp HTML đều sử dụng các tệp '.js' khác nhau, sau đó tất cả 20 tệp HTML có thể được kiểm tra, tất cả bên trong Chrome hoặc Safari ... và báo cáo cho tất cả 20 Các tệp HTML thực sự hiển thị dưới dạng 1 trang đơn trông giống như 'SpecRunner.html'. Tôi không thể hỏi anh ta làm thế nào nó được thực hiện cho đến một vài ngày sau đó –