詳細(xì)分析Visual Studio選項(xiàng)說明
Visual Studio選項(xiàng)在某些情況還是非常使用,測試應(yīng)該需要一個普通用戶來進(jìn)行,Visual Studio選項(xiàng)存儲過程可能修改了這個用戶賬號本不能訪問的數(shù)據(jù)表。下面就這個問題說一下自己的看法。
前兩個測試通過了,Visual Studio選項(xiàng)但是第三個失敗了,因?yàn)樗谕?.02卻獲得了0.00。我們可以改變存儲過程的邏輯使測試通過,但是因?yàn)槲覀円呀?jīng)在數(shù)據(jù)庫中了,那么就建立一個表格來存儲這些值吧。右鍵單擊數(shù)據(jù)庫項(xiàng)目并選擇Add -> Table,使用如下的定義創(chuàng)建一個OrderDiscounts表:#t#
因?yàn)槲覀兿M刂茰y試業(yè)務(wù)邏輯時所使用的表中的數(shù)據(jù),Visual Studio選項(xiàng)所以我們會創(chuàng)建一段腳本,在運(yùn)行所有測試之前向數(shù)據(jù)表中插入合適的數(shù)據(jù)。在OrderDiscountTests.cs文件中,選擇測試對應(yīng)的下拉列表中的Common Scripts選項(xiàng):

請注意下拉列表的旁邊有兩個選項(xiàng)——Test Initialize和Test Cleanup。我們目前只需要使用Test Initialize來建立數(shù)據(jù)庫。請確認(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)行測試時,我們會發(fā)現(xiàn)一定的延遲,Visual Studio選項(xiàng)因?yàn)槟繕?biāo)數(shù)據(jù)庫中正在創(chuàng)建我們的數(shù)據(jù)表,不過***一個測試依舊無法通過?,F(xiàn)在我們就來把它變?yōu)榫G燈。現(xiàn)在我們修改一下存儲過程,讓它從我們剛添加的數(shù)據(jù)表中獲取折扣數(shù)量:



















