rails敏捷開發(fā)

rails敏捷開發(fā)

ID:31120805

大?。?45.50 KB

頁數(shù):58頁

時(shí)間:2019-01-06

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

《rails敏捷開發(fā)》由會(huì)員上傳分享,免費(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ì)信息,以及與購物車中所有貨品對(duì)應(yīng)的訂單項(xiàng)。”這正是集成測試的理想材料。集成測試需要模擬一個(gè)或多個(gè)虛擬用戶與應(yīng)用程序之間的一組連續(xù)的會(huì)話,你可以在其

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

3、FILE__)}/../test_helper"classUserStoriesTest

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

5、by_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)用程序的工作流程。在某種意義上,這就是在測試客戶交給我們的用戶故事——我們正是根據(jù)這些故事

6、來開發(fā)應(yīng)用程序的。譬如說,有這樣一個(gè)故事:“用戶進(jìn)入商店首頁。用戶選擇一件貨品,將其放入購物車。用戶結(jié)賬,在表單中填入詳細(xì)信息。用戶提交表單之后,數(shù)據(jù)庫中創(chuàng)建一份訂單,其中包含用戶詳細(xì)信息,以及與購物車中所有貨品對(duì)應(yīng)的訂單項(xiàng)?!边@正是集成測試的理想材料。集成測試需要模擬一個(gè)或多個(gè)虛擬用戶與應(yīng)用程序之間的一組連續(xù)的會(huì)話,你可以在其中發(fā)送請(qǐng)求、監(jiān)控應(yīng)答、跟蹤重定向,等等。當(dāng)創(chuàng)建模型,控制器的同時(shí),Rails就會(huì)創(chuàng)建對(duì)應(yīng)的單元測試/功能測試。集成測試卻不是自動(dòng)創(chuàng)建的,你需要自己動(dòng)手來創(chuàng)建它們。depot>rubyscript/generat

7、eintegration_testuser_storiesexiststest/integration/createtest/integration/user_stories_test.rb可以看到,Rails自動(dòng)地給測試文件的名稱加上了_test后綴?,F(xiàn)在來看看這個(gè)生成的文件。require"#{File.dirname(__FILE__)}/../test_helper"classUserStoriesTest

8、acethiswithyourrealtests.deftest_truthasserttrueendend看起來有些像功能測試,不過測試類繼承了IntegrationTest類。下面就來動(dòng)手編寫針對(duì)上述故事的測試。由于

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

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

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