測試是
Ember。js
框架開發環節中很重要的一環。html
如今假設你正在利用Ember框架開發一個博客系統,這個系統包含user
和post
模型,有登陸及建立博客的操做。最後假設你但願在你的程序裏實現自動化測試。git
你一共須要下面這3種類型的測試:github
驗收測試Acceptance算法
單元測試Unit框架
集成測試Integrationide
驗收測試是用來確保程序流程正確,且各種交互特性符合用戶預期的測試。函數
驗收測試用於確認項目基本功能,保證項目核心功能沒有退化,確保該項目的目標得以實現。測試應用的方式和用戶與應用程序的交互方式是一致的(好比填寫表單,點擊按鈕)。post
在上述的場景中,可能會作以下的驗收測試:單元測試
用戶能夠經過登陸表單登陸。測試
用戶能夠建立博客。
當成功保存一篇博客文章後,程序會返回博客列表給用戶。
訪客不能訪問管理界面。
單元測試是針對程序中的最小可測試單元進行的測試,好比一個類或者一個方法。該測試能夠編寫與程序邏輯相對的語句來測試相關單元
下面是一些單元測試的具體例子:
用戶姓名是由對應的姓和名組合而成的。
把博客請求數據正確序列化轉換爲一個博客模型對象。
正確格式化博客時間。
集成測試是處於單元測試和驗收測試之間的測試。集成測試目的是驗證客戶端與全系統交互,全部單元測試,以及微觀層面具體代碼的算法邏輯是否都能經過。
集成測試用來驗證應用程序各個模塊相互關係,好比若干個UI控件之間的行爲。也能夠用於確認數據和動做在系統不一樣的部件中被正確的傳遞和執行,同時在給定假設條件下,能夠提供系統各部件配合運行的狀況。
咱們建議對每一個組件都進行集成測試,由於組件各個組件以相同的方式運行在系統的上下文中,而且組件之間也有相互影響,包括從模板中渲染組件、接收組件生命週期回調函數。
集成測試示例以下:
用戶姓名和日期正確的顯示在每篇博文上
禁止用戶在標題欄內輸入超過50個字符
當提交一個沒有標題的博客時,顯示紅色提醒並給出須要標題的錯誤信息
博客列表滾動到最頂端顯示最新博客
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"
。
更多詳細內容請看下面的文章:
2.7.0
的文檔直接放在emberjs.ddlisting.com。可能後續就不放Ember Teach,Ember Teach就主要用於發佈與Ember相關的文章了。
水平有限,歡迎指正。你也能夠直接在https://github.com/emberjschina/emberjs_guides_v2.7.0提交Requests Pull,咱們會以最快時間審覈經過後更新到本站。