自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Visual Studio 2008單元測試之數據庫測試

開發(fā) 后端
我們要討論的是在Visual Studio 2008單元測試中的數據庫測試,這一點是可以實現的,請看下面的實例。

我們開發(fā)一個系統(tǒng)必須與數據庫打交道,需要寫N個SQL、存儲過程、自定義函數、視圖等,那么能否使用Visual Studio 2008進行數據庫測試嗎?當然是可以的,下面我就以一個簡單的為例子,介紹如何利用Visual Studio 2008進行數據庫單元測試。

***步,在Visual Studio 2008里面增加數據庫測試,如下圖所示:

 

 

這樣我們就添加好一個數據庫單元測試,下面就是如何設置此單元測試是針對哪個數據庫的。

第二步:指定當前測試項目的數據庫配置

當我們新增加一個數據庫單元測試,Visual Studio 2008會自動彈出配置界面,供我們設置數據庫連接屬性,如下圖:

我們可以選擇一個建立好的數據庫連接:

當然也可以新增一個連接,新增數據庫連接比較簡單,就是設置服務器地址、用戶名、密碼、數據庫名稱等,在此就不介紹了。Visual Studio 2008不僅支持我們連接一個已經存在的數據庫,還可以運行單元測試前,自動部署一個數據庫供測試,連接好數據庫后,下面將介紹如何進行單元測試。

第三步:測試用例

在Visual Studio 2008數據庫單元測試的“設計”界面,首先會有二個下拉框,如下圖所示

左側的下拉框即是數據庫單元測試的每個“測試方法”,你可以把他當成代碼單元測試的函數,系統(tǒng)默認會有二個:公共腳本和DatabaseTest1,如下圖:

公用腳本:在執(zhí)行此單元測試前運行的SQL腳本,包括“測試初始化”和“測試清理”,即對應的準備數據的腳本、測試完成后刪除數據的腳本,可以保證每次執(zhí)行單元測試時,數據都是一致的。

測試方法:可以新增、刪除、重命名,可以通過增加測試方法來實現不同用例的驗證。

第四步:編寫測試腳本

針對每個測試方法可以編寫測試SQL腳本,即SQL語句,只要能夠在測試數據庫中正確執(zhí)行的SQL語句都可以,然后針對你編寫的SQL語句執(zhí)行的結果進行驗證,如下圖

此段SQL語句是讀取成本系統(tǒng)的業(yè)務參數,我們可以針對此SQL進行驗證其正確性,Visual Studio 2008支持六種測試條件:

標量值:可以判斷第幾個結果集的第幾行的第幾列的值是多少,不相等則驗證失敗。

非空結果集:判斷第幾個結果集必須有記錄,否則驗證失敗。

空結果集:判斷第幾個結果集必須沒有記錄,否則驗證失敗。

沒有結論:無結論就是測試沒有結果,注意當你新增加一個測試方法時,Visual會自動生成一個沒有結論的測試條件,如果你不需要,則手動刪除掉。

行數:判斷第幾個結果集返回的行數,否則驗證失敗。

執(zhí)行時間:判斷執(zhí)行時間必須少于多少,否則驗證失敗,用于性能測試。

那么針對上面的SQL語句,我們可以驗證返回的行數,可以通過行數的多少,驗證成本系統(tǒng)的業(yè)務參數數量是否正確,如下圖

當返回的行數等于30時,代表數據庫中的數量是正確的。當然你也可以增加其它測試條件,如使用標量值驗證參數的名稱是否正確等。

第五步:運行測試

點擊“運行測試”按鈕即可得到測試結果,如下圖所示:

測試沒有通過,可以查看錯誤信息:RowCountCondition 條件(rowCountCondition1)失敗: 結果集 1: 32 行與預期的 30 行不匹配。

分析原因,數據庫執(zhí)行的結果有32行,與測試條件不匹配,修改測試條件,重新運行測試,測試通過,如下圖

Visual Studio 2008單元測試通過編寫SQL腳本,然后設置不同的測試條件,通過驗證測試條件是否匹配還進行測試,因此你可以寫任何SQL語句進行驗證,這樣就可以驗證表記錄、視圖、存儲過程、函數等,基本包括了所有的數據庫對象。

我們可以通過數據庫單元測試來保證我們每次修改數據庫對象的正確性,也可以保證我們的SQL語句是否提交,只要切換一下測試數據庫即可,可以防止開發(fā)人員提交版本時漏掉提交SQL被測試打回的場景了。

本篇簡單介紹了Visual Studio 2008單元測試的數據庫測試功能

原文鏈接:http://www.cnblogs.com/MyHom/archive/2011/01/24/1943004.html

責任編輯:彭凡 來源: 博客園
相關推薦

2017-04-07 13:45:02

PHP單元測試數據庫測試

2010-03-02 09:10:41

Visual Stud

2012-06-18 10:03:46

Visual Stud

2017-01-14 23:42:49

單元測試框架軟件測試

2021-08-04 10:51:04

數據庫單元測試SQL

2020-08-18 08:10:02

單元測試Java

2021-03-11 12:33:50

JavaPowerMock技巧

2017-01-14 23:26:17

單元測試JUnit測試

2017-01-16 12:12:29

單元測試JUnit

2011-05-16 16:52:09

單元測試徹底測試

2016-09-14 21:55:33

前端測試Karma

2017-03-23 16:02:10

Mock技術單元測試

2023-07-28 10:27:48

Java單元測試

2021-05-05 11:38:40

TestNGPowerMock單元測試

2023-07-26 08:58:45

Golang單元測試

2011-07-04 18:16:42

單元測試

2020-05-07 17:30:49

開發(fā)iOS技術

2011-12-01 09:20:41

軟件工程

2022-04-27 08:17:07

OCMock單元測試集成

2011-04-18 13:20:40

單元測試軟件測試
點贊
收藏

51CTO技術棧公眾號