摘要:集成測試集成測試是處于單元測試和驗收測試之間的測試。集成測試目的是驗證客戶端與全系統交互,所有單元測試,以及微觀層面具體代碼的算法邏輯是否都能通過。集成測試用來驗證應用程序各個模塊相互關系,比如若干個控件之間的行為。
測試簡介
測試是Ember。js框架開發環節中很重要的一環。
現在假設你正在利用Ember框架開發一個博客系統,這個系統包含user和post模型,有登錄及創建博客的操作。最后假設你希望在你的程序里實現自動化測試。
測試類型你一共需要下面這3種類型的測試:
驗收測試Acceptance
單元測試Unit
集成測試Integration
驗收測試 Acceptance Tests驗收測試是用來確保程序流程正確,且各類交互特性符合用戶預期的測試。
驗收測試用于確認項目基本功能,保證項目核心功能沒有退化,確保該項目的目標得以實現。測試應用的方式和用戶與應用程序的交互方式是一致的(比如填寫表單,點擊按鈕)。
在上述的場景中,可能會做如下的驗收測試:
用戶可以通過登錄表單登錄。
用戶可以創建博客。
當成功保存一篇博客文章后,程序會返回博客列表給用戶。
訪客不能訪問管理界面。
單元測試 Unit Tests單元測試是針對程序中的最小可測試單元進行的測試,比如一個類或者一個方法。該測試可以編寫與程序邏輯相對的語句來測試相關單元
下面是一些單元測試的具體例子:
用戶姓名是由對應的姓和名組合而成的。
把博客請求數據正確序列化轉換為一個博客模型對象。
正確格式化博客時間。
集成測試 Integration Tests集成測試是處于單元測試和驗收測試之間的測試。集成測試目的是驗證客戶端與全系統交互,所有單元測試,以及微觀層面具體代碼的算法邏輯是否都能通過。
集成測試用來驗證應用程序各個模塊相互關系,比如若干個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,我們會以最快時間審核通過后更新到本站。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/90992.html
摘要:在文件夾內創建,內容如下創建,內容如下使用安裝依賴在的頭部加入調用命令,同時在你的默認瀏覽器中打開。最后,我們更新下,給每個報道添加鏈接修改完畢地后,可以在瀏覽器中直接看到結果。 編者注:我們發現了有趣的系列文章《30天學習30種新技術》,正在翻譯,一天一篇更新,年終禮包。下面是第19天的內容。 到目前為止,我們這一系列文章涉及了Bower、AngularJS、GruntJS、P...
摘要:最近我應邀為朋友寫一個,前期在考慮技術棧的時候選擇了。眼下第一目標是把這個應用寫完,在此過程中本著打破砂鍋問到底的精神,我在網上找到一些很不錯的的資源。于是記錄于此本列表正持續更新中。 最近我應邀為朋友寫一個 Web App,前期在考慮技術棧的時候選擇了 Rails API+Ember.js。考慮到這個應用的規模,選擇 Ember.js 或許有點重,但是做公司的項目一直都在用 Angu...
摘要:就沒必要動牛刀,創建一個數據庫了執行完后,在目錄下創建一個程序,自動植入到當前項目中,訪問的和與訪問域名端口一致。就沒必要動牛刀,創建一個數據庫了本篇博文將為你介紹如何使用實現權限控制,我會創建一個簡單的登錄示例加以說明。 文章來源:http://blog.ddlisting.com 官網對于登錄、用戶權限的介紹只有一段簡單的說明,并沒有詳細說明如何使用service實現權限控制。下面...
摘要:創建模型并設置關聯關聯關系設置模型關系一個對應多個,一個對應多個。手動在中增加關聯關系。并且是實現了數據表之間的關聯關系,比如一個對應多個,如下圖。 文章來源:模型高級特性,引入模型關聯關系 接著前面五篇: 環境搭建以及使用Ember.js創建第一個靜態頁面 引入計算屬性、action、動態內容 模型,保存數據到數據庫 發布項目,加入CRUD功能 從服務器獲取數據,引入組件 前言 ...
摘要:如果說傳統的前端開發是以頁面為中心來入手的話,那么現代的應用開發就是以狀態為中心來著手設計和開發的。初步分析路由是怎么管理狀態的復雜的話題簡單說在中,應用的每一個可能的狀態都是通過體現的。 引子 SPA(單頁面應用)的核心是什么? 自該類型應用誕生以來我最多思考的問題就是這個。現在前端 SPA 框架滿天飛,許多不是框架的也被稱作框架,究竟有什么代表性的層(layer)能讓一個系統稱得上...
閱讀 1697·2021-10-09 09:44
閱讀 3263·2021-09-27 13:36
閱讀 1520·2021-09-22 15:33
閱讀 1274·2021-09-22 15:23
閱讀 1159·2021-09-06 15:02
閱讀 1695·2019-08-29 16:14
閱讀 2901·2019-08-29 15:26
閱讀 2408·2019-08-28 18:08