詳細分析Visual Studio選項說明
Visual Studio選項在某些情況還是非常使用,測試應該需要一個普通用戶來進行,Visual Studio選項存儲過程可能修改了這個用戶賬號本不能訪問的數據表。下面就這個問題說一下自己的看法。
前兩個測試通過了,Visual Studio選項但是第三個失敗了,因為它期望0.02卻獲得了0.00。我們可以改變存儲過程的邏輯使測試通過,但是因為我們已經在數據庫中了,那么就建立一個表格來存儲這些值吧。右鍵單擊數據庫項目并選擇Add -> Table,使用如下的定義創建一個OrderDiscounts表:#t#
因為我們希望控制測試業務邏輯時所使用的表中的數據,Visual Studio選項所以我們會創建一段腳本,在運行所有測試之前向數據表中插入合適的數據。在OrderDiscountTests.cs文件中,選擇測試對應的下拉列表中的Common Scripts選項:
請注意下拉列表的旁邊有兩個選項——Test Initialize和Test Cleanup。我們目前只需要使用Test Initialize來建立數據庫。請確認目前選擇了Test Initialize并點擊“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);
重新運行測試時,我們會發現一定的延遲,Visual Studio選項因為目標數據庫中正在創建我們的數據表,不過***一個測試依舊無法通過。現在我們就來把它變為綠燈。現在我們修改一下存儲過程,讓它從我們剛添加的數據表中獲取折扣數量: