Ember.js第七章——測試

測試簡介

測試是Ember。js框架開發環節中很重要的一環。html

如今假設你正在利用Ember框架開發一個博客系統,這個系統包含userpost模型,有登陸及建立博客的操做。最後假設你但願在你的程序裏實現自動化測試。git

測試類型

你一共須要下面這3種類型的測試:github

  1. 驗收測試Acceptance算法

  2. 單元測試Unit框架

  3. 集成測試Integrationide

驗收測試 Acceptance Tests

驗收測試是用來確保程序流程正確,且各種交互特性符合用戶預期的測試。函數

驗收測試用於確認項目基本功能,保證項目核心功能沒有退化,確保該項目的目標得以實現。測試應用的方式和用戶與應用程序的交互方式是一致的(好比填寫表單,點擊按鈕)。post

在上述的場景中,可能會作以下的驗收測試:單元測試

  1. 用戶能夠經過登陸表單登陸。測試

  2. 用戶能夠建立博客。

  3. 當成功保存一篇博客文章後,程序會返回博客列表給用戶。

  4. 訪客不能訪問管理界面。

單元測試 Unit Tests

單元測試是針對程序中的最小可測試單元進行的測試,好比一個類或者一個方法。該測試能夠編寫與程序邏輯相對的語句來測試相關單元

下面是一些單元測試的具體例子:

  1. 用戶姓名是由對應的姓和名組合而成的。

  2. 把博客請求數據正確序列化轉換爲一個博客模型對象。

  3. 正確格式化博客時間。

集成測試 Integration Tests

集成測試是處於單元測試和驗收測試之間的測試。集成測試目的是驗證客戶端與全系統交互,全部單元測試,以及微觀層面具體代碼的算法邏輯是否都能經過。

集成測試用來驗證應用程序各個模塊相互關係,好比若干個UI控件之間的行爲。也能夠用於確認數據和動做在系統不一樣的部件中被正確的傳遞和執行,同時在給定假設條件下,能夠提供系統各部件配合運行的狀況。

咱們建議對每一個組件都進行集成測試,由於組件各個組件以相同的方式運行在系統的上下文中,而且組件之間也有相互影響,包括從模板中渲染組件、接收組件生命週期回調函數。

集成測試示例以下:

  1. 用戶姓名和日期正確的顯示在每篇博文上

  2. 禁止用戶在標題欄內輸入超過50個字符

  3. 當提交一個沒有標題的博客時,顯示紅色提醒並給出須要標題的錯誤信息

  4. 博客列表滾動到最頂端顯示最新博客

測試框架

QUnit是本手冊的默認測試框架,可是Ember.js也支持其餘第三方的測試框架。

如何運行測試

在命令行輸入ember test來運行測試。也能夠經過ember test -server命令,在每次文件改動後,從新運行測試。

在本地開發項目的時候能夠經過訪問/tests/index.html來運行你的測試,前提是你須要使用命令ember server運行了你的項目。若是你是使用這種方式有一點須要注意:

  • 經過ember server運行的測試,是在開發環境下的測試,調用的是開發環境下的參數

  • 經過ember test --server運行的測試,是在測試環境下的測試,調用的是測試環境下的參數,好比加載的依賴也是不一樣的。所以咱們推薦你使用ebmer test --server來運行測試。

指定測試

使用--filter選項來指定運行部分測試。好比:快速運行當前工做的測試使用命令ember test --filter="dashboard"、運行指定類型的測試使用命令ember test --filter="integration"、可使用!來排除驗收測試ember test --filter="!acceptance"

更多詳細內容請看下面的文章:

  1. 測試簡介

  2. 驗收測試

  3. 單元測試

  4. 測試組件

  5. 測試控制器

  6. 測試路由

  7. 測試模型



2.7.0的文檔直接放在emberjs.ddlisting.com。可能後續就不放Ember Teach,Ember Teach就主要用於發佈與Ember相關的文章了。

水平有限,歡迎指正。你也能夠直接在https://github.com/emberjschina/emberjs_guides_v2.7.0提交Requests Pull,咱們會以最快時間審覈經過後更新到本站。

相關文章
相關標籤/搜索