成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Ember.js第七章——測(cè)試

iliyaku / 2612人閱讀

摘要:集成測(cè)試集成測(cè)試是處于單元測(cè)試和驗(yàn)收測(cè)試之間的測(cè)試。集成測(cè)試目的是驗(yàn)證客戶端與全系統(tǒng)交互,所有單元測(cè)試,以及微觀層面具體代碼的算法邏輯是否都能通過(guò)。集成測(cè)試用來(lái)驗(yàn)證應(yīng)用程序各個(gè)模塊相互關(guān)系,比如若干個(gè)控件之間的行為。

測(cè)試簡(jiǎn)介

測(cè)試是Ember。js框架開(kāi)發(fā)環(huán)節(jié)中很重要的一環(huán)。

現(xiàn)在假設(shè)你正在利用Ember框架開(kāi)發(fā)一個(gè)博客系統(tǒng),這個(gè)系統(tǒng)包含userpost模型,有登錄及創(chuàng)建博客的操作。最后假設(shè)你希望在你的程序里實(shí)現(xiàn)自動(dòng)化測(cè)試。

測(cè)試類型

你一共需要下面這3種類型的測(cè)試:

驗(yàn)收測(cè)試Acceptance

單元測(cè)試Unit

集成測(cè)試Integration

驗(yàn)收測(cè)試 Acceptance Tests

驗(yàn)收測(cè)試是用來(lái)確保程序流程正確,且各類交互特性符合用戶預(yù)期的測(cè)試。

驗(yàn)收測(cè)試用于確認(rèn)項(xiàng)目基本功能,保證項(xiàng)目核心功能沒(méi)有退化,確保該項(xiàng)目的目標(biāo)得以實(shí)現(xiàn)。測(cè)試應(yīng)用的方式和用戶與應(yīng)用程序的交互方式是一致的(比如填寫表單,點(diǎn)擊按鈕)。

在上述的場(chǎng)景中,可能會(huì)做如下的驗(yàn)收測(cè)試:

用戶可以通過(guò)登錄表單登錄。

用戶可以創(chuàng)建博客。

當(dāng)成功保存一篇博客文章后,程序會(huì)返回博客列表給用戶。

訪客不能訪問(wèn)管理界面。

單元測(cè)試 Unit Tests

單元測(cè)試是針對(duì)程序中的最小可測(cè)試單元進(jìn)行的測(cè)試,比如一個(gè)類或者一個(gè)方法。該測(cè)試可以編寫與程序邏輯相對(duì)的語(yǔ)句來(lái)測(cè)試相關(guān)單元

下面是一些單元測(cè)試的具體例子:

用戶姓名是由對(duì)應(yīng)的姓和名組合而成的。

把博客請(qǐng)求數(shù)據(jù)正確序列化轉(zhuǎn)換為一個(gè)博客模型對(duì)象。

正確格式化博客時(shí)間。

集成測(cè)試 Integration Tests

集成測(cè)試是處于單元測(cè)試和驗(yàn)收測(cè)試之間的測(cè)試。集成測(cè)試目的是驗(yàn)證客戶端與全系統(tǒng)交互,所有單元測(cè)試,以及微觀層面具體代碼的算法邏輯是否都能通過(guò)。

集成測(cè)試用來(lái)驗(yàn)證應(yīng)用程序各個(gè)模塊相互關(guān)系,比如若干個(gè)UI控件之間的行為。也可以用于確認(rèn)數(shù)據(jù)和動(dòng)作在系統(tǒng)不同的部件中被正確的傳遞和執(zhí)行,同時(shí)在給定假設(shè)條件下,可以提供系統(tǒng)各部件配合運(yùn)行的情況。

我們建議對(duì)每個(gè)組件都進(jìn)行集成測(cè)試,因?yàn)榻M件各個(gè)組件以相同的方式運(yùn)行在系統(tǒng)的上下文中,并且組件之間也有相互影響,包括從模板中渲染組件、接收組件生命周期回調(diào)函數(shù)。

集成測(cè)試示例如下:

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

禁止用戶在標(biāo)題欄內(nèi)輸入超過(guò)50個(gè)字符

當(dāng)提交一個(gè)沒(méi)有標(biāo)題的博客時(shí),顯示紅色提醒并給出需要標(biāo)題的錯(cuò)誤信息

博客列表滾動(dòng)到最頂端顯示最新博客

測(cè)試框架

QUnit是本手冊(cè)的默認(rèn)測(cè)試框架,但是Ember.js也支持其他第三方的測(cè)試框架。

如何運(yùn)行測(cè)試

在命令行輸入ember test來(lái)運(yùn)行測(cè)試。也可以通過(guò)ember test -server命令,在每次文件改動(dòng)后,重新運(yùn)行測(cè)試。

在本地開(kāi)發(fā)項(xiàng)目的時(shí)候可以通過(guò)訪問(wèn)/tests/index.html來(lái)運(yùn)行你的測(cè)試,前提是你需要使用命令ember server運(yùn)行了你的項(xiàng)目。如果你是使用這種方式有一點(diǎn)需要注意:

通過(guò)ember server運(yùn)行的測(cè)試,是在開(kāi)發(fā)環(huán)境下的測(cè)試,調(diào)用的是開(kāi)發(fā)環(huán)境下的參數(shù)

通過(guò)ember test --server運(yùn)行的測(cè)試,是在測(cè)試環(huán)境下的測(cè)試,調(diào)用的是測(cè)試環(huán)境下的參數(shù),比如加載的依賴也是不同的。因此我們推薦你使用ebmer test --server來(lái)運(yùn)行測(cè)試。

指定測(cè)試

使用--filter選項(xiàng)來(lái)指定運(yùn)行部分測(cè)試。比如:快速運(yùn)行當(dāng)前工作的測(cè)試使用命令ember test --filter="dashboard"、運(yùn)行指定類型的測(cè)試使用命令ember test --filter="integration"、可以使用!來(lái)排除驗(yàn)收測(cè)試ember test --filter="!acceptance"

更多詳細(xì)內(nèi)容請(qǐng)看下面的文章:

測(cè)試簡(jiǎn)介

驗(yàn)收測(cè)試

單元測(cè)試

測(cè)試組件

測(cè)試控制器

測(cè)試路由

測(cè)試模型



2.7.0的文檔直接放在emberjs.ddlisting.com??赡芎罄m(xù)就不放Ember Teach,Ember Teach就主要用于發(fā)布與Ember相關(guān)的文章了。

水平有限,歡迎指正。你也可以直接在https://github.com/emberjschina/emberjs_guides_v2.7.0提交Requests Pull,我們會(huì)以最快時(shí)間審核通過(guò)后更新到本站。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90992.html

相關(guān)文章

  • Day 19: EmberJS 入門指南

    摘要:在文件夾內(nèi)創(chuàng)建,內(nèi)容如下創(chuàng)建,內(nèi)容如下使用安裝依賴在的頭部加入調(diào)用命令,同時(shí)在你的默認(rèn)瀏覽器中打開(kāi)。最后,我們更新下,給每個(gè)報(bào)道添加鏈接修改完畢地后,可以在瀏覽器中直接看到結(jié)果。 編者注:我們發(fā)現(xiàn)了有趣的系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯,一天一篇更新,年終禮包。下面是第19天的內(nèi)容。 到目前為止,我們這一系列文章涉及了Bower、AngularJS、GruntJS、P...

    awesome23 評(píng)論0 收藏0
  • Ember.js 資源列表

    摘要:最近我應(yīng)邀為朋友寫一個(gè),前期在考慮技術(shù)棧的時(shí)候選擇了。眼下第一目標(biāo)是把這個(gè)應(yīng)用寫完,在此過(guò)程中本著打破砂鍋問(wèn)到底的精神,我在網(wǎng)上找到一些很不錯(cuò)的的資源。于是記錄于此本列表正持續(xù)更新中。 最近我應(yīng)邀為朋友寫一個(gè) Web App,前期在考慮技術(shù)棧的時(shí)候選擇了 Rails API+Ember.js。考慮到這個(gè)應(yīng)用的規(guī)模,選擇 Ember.js 或許有點(diǎn)重,但是做公司的項(xiàng)目一直都在用 Angu...

    Yangyang 評(píng)論0 收藏0
  • 使用service實(shí)現(xiàn)登錄、權(quán)限控制

    摘要:就沒(méi)必要?jiǎng)优5?,?chuàng)建一個(gè)數(shù)據(jù)庫(kù)了執(zhí)行完后,在目錄下創(chuàng)建一個(gè)程序,自動(dòng)植入到當(dāng)前項(xiàng)目中,訪問(wèn)的和與訪問(wèn)域名端口一致。就沒(méi)必要?jiǎng)优5?,?chuàng)建一個(gè)數(shù)據(jù)庫(kù)了本篇博文將為你介紹如何使用實(shí)現(xiàn)權(quán)限控制,我會(huì)創(chuàng)建一個(gè)簡(jiǎn)單的登錄示例加以說(shuō)明。 文章來(lái)源:http://blog.ddlisting.com 官網(wǎng)對(duì)于登錄、用戶權(quán)限的介紹只有一段簡(jiǎn)單的說(shuō)明,并沒(méi)有詳細(xì)說(shuō)明如何使用service實(shí)現(xiàn)權(quán)限控制。下面...

    Aomine 評(píng)論0 收藏0
  • 模型高級(jí)特性,引入模型關(guān)聯(lián)關(guān)系

    摘要:創(chuàng)建模型并設(shè)置關(guān)聯(lián)關(guān)聯(lián)關(guān)系設(shè)置模型關(guān)系一個(gè)對(duì)應(yīng)多個(gè),一個(gè)對(duì)應(yīng)多個(gè)。手動(dòng)在中增加關(guān)聯(lián)關(guān)系。并且是實(shí)現(xiàn)了數(shù)據(jù)表之間的關(guān)聯(lián)關(guān)系,比如一個(gè)對(duì)應(yīng)多個(gè),如下圖。 文章來(lái)源:模型高級(jí)特性,引入模型關(guān)聯(lián)關(guān)系 接著前面五篇: 環(huán)境搭建以及使用Ember.js創(chuàng)建第一個(gè)靜態(tài)頁(yè)面 引入計(jì)算屬性、action、動(dòng)態(tài)內(nèi)容 模型,保存數(shù)據(jù)到數(shù)據(jù)庫(kù) 發(fā)布項(xiàng)目,加入CRUD功能 從服務(wù)器獲取數(shù)據(jù),引入組件 前言 ...

    raise_yang 評(píng)論0 收藏0
  • [Tips on Ember 2] UI 布局與應(yīng)用狀態(tài)的關(guān)系處理

    摘要:如果說(shuō)傳統(tǒng)的前端開(kāi)發(fā)是以頁(yè)面為中心來(lái)入手的話,那么現(xiàn)代的應(yīng)用開(kāi)發(fā)就是以狀態(tài)為中心來(lái)著手設(shè)計(jì)和開(kāi)發(fā)的。初步分析路由是怎么管理狀態(tài)的復(fù)雜的話題簡(jiǎn)單說(shuō)在中,應(yīng)用的每一個(gè)可能的狀態(tài)都是通過(guò)體現(xiàn)的。 引子 SPA(單頁(yè)面應(yīng)用)的核心是什么? 自該類型應(yīng)用誕生以來(lái)我最多思考的問(wèn)題就是這個(gè)。現(xiàn)在前端 SPA 框架滿天飛,許多不是框架的也被稱作框架,究竟有什么代表性的層(layer)能讓一個(gè)系統(tǒng)稱得上...

    wayneli 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<