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