詳細(xì)分析Visual Studio選項(xiàng)說明
Visual Studio選項(xiàng)在某些情況還是非常使用,測試應(yīng)該需要一個(gè)普通用戶來進(jìn)行,Visual Studio選項(xiàng)存儲(chǔ)過程可能修改了這個(gè)用戶賬號(hào)本不能訪問的數(shù)據(jù)表。下面就這個(gè)問題說一下自己的看法。
前兩個(gè)測試通過了,Visual Studio選項(xiàng)但是第三個(gè)失敗了,因?yàn)樗谕?.02卻獲得了0.00。我們可以改變存儲(chǔ)過程的邏輯使測試通過,但是因?yàn)槲覀円呀?jīng)在數(shù)據(jù)庫中了,那么就建立一個(gè)表格來存儲(chǔ)這些值吧。右鍵單擊數(shù)據(jù)庫項(xiàng)目并選擇Add -> Table,使用如下的定義創(chuàng)建一個(gè)OrderDiscounts表:#t#
因?yàn)槲覀兿M刂茰y試業(yè)務(wù)邏輯時(shí)所使用的表中的數(shù)據(jù),Visual Studio選項(xiàng)所以我們會(huì)創(chuàng)建一段腳本,在運(yùn)行所有測試之前向數(shù)據(jù)表中插入合適的數(shù)據(jù)。在OrderDiscountTests.cs文件中,選擇測試對(duì)應(yīng)的下拉列表中的Common Scripts選項(xiàng):
請(qǐng)注意下拉列表的旁邊有兩個(gè)選項(xiàng)——Test Initialize和Test Cleanup。我們目前只需要使用Test Initialize來建立數(shù)據(jù)庫。請(qǐng)確認(rèn)目前選擇了Test Initialize并點(diǎn)擊“Click here to create”鏈接,然后輸入以下腳本:
INSERT INTO OrderDiscounts(low_range, high_range, discount_amount)VALUES (0.00, 99.99, 0.00);
INSERT INTO OrderDiscounts(low_range, high_range, discount_amount)VALUES (100.00, 299.99, 0.02);
INSERT INTO OrderDiscounts(low_range, high_range, discount_amount)VALUES (300.00, 999.99, 0.04);
INSERT INTO OrderDiscounts(low_range, high_range, discount_amount)VALUES (1000.00, 10000000.00, 0.07);
重新運(yùn)行測試時(shí),我們會(huì)發(fā)現(xiàn)一定的延遲,Visual Studio選項(xiàng)因?yàn)槟繕?biāo)數(shù)據(jù)庫中正在創(chuàng)建我們的數(shù)據(jù)表,不過***一個(gè)測試依舊無法通過?,F(xiàn)在我們就來把它變?yōu)榫G燈。現(xiàn)在我們修改一下存儲(chǔ)過程,讓它從我們剛添加的數(shù)據(jù)表中獲取折扣數(shù)量: