rails敏捷開發(fā)《3》

rails敏捷開發(fā)《3》

ID:20498032

大?。?71.27 KB

頁數(shù):59頁

時(shí)間:2018-10-13

rails敏捷開發(fā)《3》_第1頁
rails敏捷開發(fā)《3》_第2頁
rails敏捷開發(fā)《3》_第3頁
rails敏捷開發(fā)《3》_第4頁
rails敏捷開發(fā)《3》_第5頁
資源描述:

《rails敏捷開發(fā)《3》》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、14.4應(yīng)用程序的集成測試IntegrationTestingofApplications下一個(gè)層面的測試是要驗(yàn)證應(yīng)用程序的工作流程。在某種意義上,這就是在測試客戶交給我們的用戶故事——我們正是根據(jù)這些故事來開發(fā)應(yīng)用程序的。譬如說,有這樣一個(gè)故事:“用戶進(jìn)入商店首頁。用戶選擇一件貨品,將其放入購物車。用戶結(jié)賬,在表單中填入詳細(xì)信息。用戶提交表單之后,數(shù)據(jù)庫中創(chuàng)建一份訂單,其中包含用戶詳細(xì)信息,以及與購物車中所有貨品對應(yīng)的訂單項(xiàng)?!边@正是集成測試的理想材料。集成測試需要模擬一個(gè)或多個(gè)虛擬用戶與應(yīng)用程序之間的一組連續(xù)的

2、會話,你可以在其中發(fā)送請求、監(jiān)控應(yīng)答、跟蹤重定向,等等。當(dāng)創(chuàng)建模型,控制器的同時(shí),Rails就會創(chuàng)建對應(yīng)的單元測試/功能測試。集成測試卻不是自動創(chuàng)建的,你需要自己動手來創(chuàng)建它們。depot>rubyscript/generateintegration_testuser_storiesexiststest/integration/createtest/integration/user_stories_test.rb可以看到,Rails自動地給測試文件的名稱加上了_test后綴。現(xiàn)在來看看這個(gè)生成的文件。require

3、"#{File.dirname(__FILE__)}/../test_helper"classUserStoriesTest

4、具,因此,我們在測試類的開始處就將其加載進(jìn)來。fixtures:products跟單元測試和功能測試一樣,這里的測試方法名也應(yīng)該以test一開頭。deftest_buying_a_product#...end當(dāng)測試結(jié)束時(shí),我們期望orders表中新增一份訂單數(shù)據(jù)、line_items表中新增了一份訂單項(xiàng)數(shù)據(jù),因此在測試開始之前應(yīng)首先將它們清除掉。另外,由于會經(jīng)常使用ruby_book這項(xiàng)夾具數(shù)據(jù),我們首先將它放入一個(gè)局部變量中。depot_r/test/integration/user_stories_test.r

5、bLineItem.delete_allOrder.delete_allruby_book=products(:ruby_book)我們先來搞定用戶故事中的第一句話:“用戶進(jìn)入商店首頁”。depot_r/test/integration/user_stories_test.rbget"/store/index"assert_response:successassert_template"index"14.4應(yīng)用程序的集成測試IntegrationTestingofApplications下一個(gè)層面的測試是要驗(yàn)證應(yīng)用

6、程序的工作流程。在某種意義上,這就是在測試客戶交給我們的用戶故事——我們正是根據(jù)這些故事來開發(fā)應(yīng)用程序的。譬如說,有這樣一個(gè)故事:“用戶進(jìn)入商店首頁。用戶選擇一件貨品,將其放入購物車。用戶結(jié)賬,在表單中填入詳細(xì)信息。用戶提交表單之后,數(shù)據(jù)庫中創(chuàng)建一份訂單,其中包含用戶詳細(xì)信息,以及與購物車中所有貨品對應(yīng)的訂單項(xiàng)。”這正是集成測試的理想材料。集成測試需要模擬一個(gè)或多個(gè)虛擬用戶與應(yīng)用程序之間的一組連續(xù)的會話,你可以在其中發(fā)送請求、監(jiān)控應(yīng)答、跟蹤重定向,等等。當(dāng)創(chuàng)建模型,控制器的同時(shí),Rails就會創(chuàng)建對應(yīng)的單元測試/功

7、能測試。集成測試卻不是自動創(chuàng)建的,你需要自己動手來創(chuàng)建它們。depot>rubyscript/generateintegration_testuser_storiesexiststest/integration/createtest/integration/user_stories_test.rb可以看到,Rails自動地給測試文件的名稱加上了_test后綴?,F(xiàn)在來看看這個(gè)生成的文件。require"#{File.dirname(__FILE__)}/../test_helper"classUserStoriesT

8、est

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。