2011-07-26 42 views
2

如何使用Jasmine或其他工具來測試嵌入網頁內的JavaScript/JQuery,如下例所示:您可以使用Jasmine測試HTML頁面中嵌入的JavaScript/JQuery代碼嗎?

<html> 
<head> 
<!-- usual includes --> 
</head> 
<body> 

    <span id="myspan1"></span> 
    <span id="myspan2"></span> 

    <script type="text/javascript"> 

     $(document).ready(function(){ 

      $('#myspan1').html('something'); 

      $('#myspan1').click(function(){ 
       $('#myspan1').html('something else'); 
      }); 

      doStuff(); 

      function doStuff() { 
       $('#myspan2').html('stuff done'); 
      } 

     }); 

    </script> 

</body> 
</html> 
+0

你想要「測試」到底是什麼?你能不能將源代碼複製到計算機上的.html文件中並在瀏覽器中打開它? – maxedison

+0

我想爲JavaScript/JQuery事件處理函數和函數編寫自動單元測試。這是茉莉花的目的。 – Steve

回答

0

我只是假設你想確保「完成的東西」在合理的時間後出現在頁面上。

describe("My page", function() { 
    it("should say stuff done after max 500 ms", function() { 
     waits(function() { 
      return $('#myspan2').html() == 'stuff done'; 
     }, 500); 
    }); 
}); 

http://jsfiddle.net/ahus1/QP2Pk/

通常你會把你的JavaScript代碼放到一個外部文件。

然後,您可以設置一個測試頁面,其中包含來自普通頁面和Jasmine的最小元素。

在這個測試頁面中,我沒有等待頁面最終加載時運行Jasmine,但無論如何工作。

Br Alexander。

相關問題