Jasmine

這裏寫圖片描述

一個JavaScript測試框架(一)

對於JavaScript中的行爲驅動開發(BDD)測試框架,茉莉花不依賴於瀏覽器,文檔對象模型(DOM)或其他JavaScript庫。正由於Jasmine不依賴於任何框架,所以適用於所有的Javascript代碼。

所謂BDD(行爲驅動開發,Behaviour Driven Development),是一種新的敏捷開發方法。BDD是第二代的、由外及內的、基於拉(pull)的、多方利益相關者的(stakeholder)、多種可擴展的、高自動化的敏捷方法。它描述了一個交互循環,可以具有帶有良好定義的輸出(即工作中交付的結果):已測試過的軟件。

BDD與TDD測試驅動開發(Test Driven Development )的主要區別是,BDD使得非程序人員也能參與到測試用例的編寫中來,大大降低了客戶、用戶、項目管理者與開發者之間來回翻譯的成本。所以BDD更加註重業務需求而不是技術。

Jasmine的Github官方主頁:https://github.com/jasmine/jasmine
找到上方的releases,點擊會跳轉到https://github.com/jasmine/jasmine/releases
下載已發佈的zip包,比如下載當前的最新版本爲:jasmine-standalone-2.5.2.zip

目錄結構

解壓之後,會看到如下結構
這裏寫圖片描述

  • lib存放了運行測試案例所必須的文件,其內包含jasmine-2.2.0文件夾。可以將不同版本的Jasmine放在lib下,以便使用時切換。

    jasmine.js:整個框架的核心代碼。
    jasmine-html.js:用來展示測試結果的js文件。
    boot.js:jasmine框架的的啓動腳本。需要注意的是,這個腳本應該放在jasmine.js之後,自己的js測試代碼之前加載。
    jasmine.css:用來美化測試結果

  • spec存放測試腳本

    layerSpec.js:就是針對src文件夾下的Player.js所寫的測試用例。
    SpecHelper.js:用來添加自定義的檢驗規則,如果框架本身提供的規則(諸如toBe,toNotBe等)不適用,就可以額外添加自己的規則(在本文件中添加了自定義的規則toBePlaying)。

  • src存放需要測試的js文件。Jasmine提供了一個Example(Player.js,Song.js)。

  • SpecRunner.html運行測試用例的環境。它將上面3個文件夾中一些必要的文件都包含了進來。如果你想將自己的測試添加進來的話,那麼就修改相應的路徑。

其中,spec文件夾,src文件夾和SpecRunner.html文件是Jasmine提供的一個完整示例,用瀏覽器打開 SpecRunner.html,即可看到執行的結果。

Demo演示

需要測試的代碼段src.js

function Hello(helloWho){
    return "Hello" +" " + helloWho;
}

測試用例test.js

describe("A suite of basic function",function(){
    var name;
    it("Hello World test",function(){
        input="World";
        var exp="Hello World";
        expect(exp).toEqual(Hello(input));
    })
})

測試結果展示頁面

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Jasmine Spec Runner v2.5.2</title>

  <link rel="shortcut icon" type="image/png" href="lib/jasmine-2.5.2/jasmine_favicon.png">
  <link rel="stylesheet" href="lib/jasmine-2.5.2/jasmine.css">

  <script src="lib/jasmine-2.5.2/jasmine.js"></script>
  <script src="lib/jasmine-2.5.2/jasmine-html.js"></script>
  <script src="lib/jasmine-2.5.2/boot.js"></script>

    <script src="src/src.js" type="text/javascript"></script>
    <script src="spec/test.js" type="text/javascript"></script>
</head>

<body>
</body>
</html>

運行結果
這裏寫圖片描述

發佈了24 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章