W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
英文原文:https://guides.emberjs.com/v2.7.0/testing/
測試是
Ember。js
框架開發(fā)環(huán)節(jié)中很重要的一環(huán)。
現(xiàn)在假設(shè)你正在利用Ember框架開發(fā)一個(gè)博客系統(tǒng),這個(gè)系統(tǒng)包含user
和post
模型,有登錄及創(chuàng)建博客的操作。最后假設(shè)你希望在你的程序里實(shí)現(xiàn)自動化測試。
你一共需要下面這3種類型的測試:
驗(yàn)收測試是用來確保程序流程正確,且各類交互特性符合用戶預(yù)期的測試。
驗(yàn)收測試用于確認(rèn)項(xiàng)目基本功能,保證項(xiàng)目核心功能沒有退化,確保該項(xiàng)目的目標(biāo)得以實(shí)現(xiàn)。測試應(yīng)用的方式和用戶與應(yīng)用程序的交互方式是一致的(比如填寫表單,點(diǎn)擊按鈕)。
在上述的場景中,可能會做如下的驗(yàn)收測試:
單元測試是針對程序中的最小可測試單元進(jìn)行的測試,比如一個(gè)類或者一個(gè)方法。該測試可以編寫與程序邏輯相對的語句來測試相關(guān)單元
下面是一些單元測試的具體例子:
集成測試是處于單元測試和驗(yàn)收測試之間的測試。集成測試目的是驗(yàn)證客戶端與全系統(tǒng)交互,所有單元測試,以及微觀層面具體代碼的算法邏輯是否都能通過。
集成測試用來驗(yàn)證應(yīng)用程序各個(gè)模塊相互關(guān)系,比如若干個(gè)UI控件之間的行為。也可以用于確認(rèn)數(shù)據(jù)和動作在系統(tǒng)不同的部件中被正確的傳遞和執(zhí)行,同時(shí)在給定假設(shè)條件下,可以提供系統(tǒng)各部件配合運(yùn)行的情況。
我們建議對每個(gè)組件都進(jìn)行集成測試,因?yàn)榻M件各個(gè)組件以相同的方式運(yùn)行在系統(tǒng)的上下文中,并且組件之間也有相互影響,包括從模板中渲染組件、接收組件生命周期回調(diào)函數(shù)。
集成測試示例如下:
QUnit是本手冊的默認(rèn)測試框架,但是Ember.js也支持其他第三方的測試框架。
在命令行輸入ember test
來運(yùn)行測試。也可以通過ember test -server
命令,在每次文件改動后,重新運(yùn)行測試。
在本地開發(fā)項(xiàng)目的時(shí)候可以通過訪問/tests/index.html
來運(yùn)行你的測試,前提是你需要使用命令ember server
運(yùn)行了你的項(xiàng)目。如果你是使用這種方式有一點(diǎn)需要注意:
ember server
運(yùn)行的測試,是在開發(fā)環(huán)境下的測試,調(diào)用的是開發(fā)環(huán)境下的參數(shù)ember test --server
運(yùn)行的測試,是在測試環(huán)境下的測試,調(diào)用的是測試環(huán)境下的參數(shù),比如加載的依賴也是不同的。因此我們推薦你使用ebmer test --server
來運(yùn)行測試。
使用--filter
選項(xiàng)來指定運(yùn)行部分測試。比如:快速運(yùn)行當(dāng)前工作的測試使用命令ember test --filter="dashboard"
、運(yùn)行指定類型的測試使用命令ember test --filter="integration"
、可以使用!
來排除驗(yàn)收測試ember test --filter="!acceptance"
。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: