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

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

ID:21183541

大?。?49.50 KB

頁數(shù):58頁

時間:2018-10-20

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

《rails敏捷開發(fā)《3》》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫

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

2、當(dāng)創(chuàng)建模型,控制器的同時,Rails就會創(chuàng)建對應(yīng)的單元測試/功能測試。集成測試卻不是自動創(chuàng)建的,你需要自己動手來創(chuàng)建它們。depot>rubyscript/generateintegration_testuser_storiesexiststest/integration/createtest/integration/user_stories_test.rb可以看到,Rails自動地給測試文件的名稱加上了_test后綴?,F(xiàn)在來看看這個生成的文件。require"#{File.dirname(__FILE__)}/../test_helper"classUserStoriesTest

3、onController::IntegrationTest#fixtures:your,:models#Replacethiswithyourrealtests.deftest_truthasserttrueendend看起來有些像功能測試,不過測試類繼承了IntegrationTest類。下面就來動手編寫針對上述故事的測試。由于在故事中要購買一些東西,所以需要用到products夾具,因此,我們在測試類的開始處就將其加載進來。fixtures:products跟單元測試和功能測試一樣,這里的測試方法名也應(yīng)該以test一開頭。deftest_buying_a_product#...end當(dāng)測

4、試結(jié)束時,我們期望orders表中新增一份訂單數(shù)據(jù)、line_items表中新增了一份訂單項數(shù)據(jù),因此在測試開始之前應(yīng)首先將它們清除掉。另外,由于會經(jīng)常使用ruby_book這項夾具數(shù)據(jù),我們首先將它放入一個局部變量中。depot_r/test/integration/user_stories_test.rbLineItem.delete_allOrder.delete_allruby_book=products(:ruby_book)我們先來搞定用戶故事中的第一句話:“用戶進入商店首頁”。depot_r/test/integration/user_stories_test.rbget"/s

5、tore/index"assert_response:successassert_template"index"專業(yè)技術(shù)資料分享WORD文檔下載可編輯14.4應(yīng)用程序的集成測試IntegrationTestingofApplications下一個層面的測試是要驗證應(yīng)用程序的工作流程。在某種意義上,這就是在測試客戶交給我們的用戶故事——我們正是根據(jù)這些故事來開發(fā)應(yīng)用程序的。譬如說,有這樣一個故事:“用戶進入商店首頁。用戶選擇一件貨品,將其放入購物車。用戶結(jié)賬,在表單中填入詳細(xì)信息。用戶提交表單之后,數(shù)據(jù)庫中創(chuàng)建一份訂單,其中包含用戶詳細(xì)信息,以及與購物車中所有貨品對應(yīng)的訂單項?!边@正是集成測試

6、的理想材料。集成測試需要模擬一個或多個虛擬用戶與應(yīng)用程序之間的一組連續(xù)的會話,你可以在其中發(fā)送請求、監(jiān)控應(yīng)答、跟蹤重定向,等等。當(dāng)創(chuàng)建模型,控制器的同時,Rails就會創(chuàng)建對應(yīng)的單元測試/功能測試。集成測試卻不是自動創(chuàng)建的,你需要自己動手來創(chuàng)建它們。depot>rubyscript/generateintegration_testuser_storiesexiststest/integration/createtest/integration/user_stories_test.rb可以看到,Rails自動地給測試文件的名稱加上了_test后綴?,F(xiàn)在來看看這個生成的文件。require"#{

7、File.dirname(__FILE__)}/../test_helper"classUserStoriesTest

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

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

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