偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Visual Studio 2008單元測(cè)試之?dāng)?shù)據(jù)庫測(cè)試

開發(fā) 后端
我們要討論的是在Visual Studio 2008單元測(cè)試中的數(shù)據(jù)庫測(cè)試,這一點(diǎn)是可以實(shí)現(xiàn)的,請(qǐng)看下面的實(shí)例。

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

***步,在Visual Studio 2008里面增加數(shù)據(jù)庫測(cè)試,如下圖所示:

 

 

這樣我們就添加好一個(gè)數(shù)據(jù)庫單元測(cè)試,下面就是如何設(shè)置此單元測(cè)試是針對(duì)哪個(gè)數(shù)據(jù)庫的。

第二步:指定當(dāng)前測(cè)試項(xiàng)目的數(shù)據(jù)庫配置

當(dāng)我們新增加一個(gè)數(shù)據(jù)庫單元測(cè)試,Visual Studio 2008會(huì)自動(dòng)彈出配置界面,供我們?cè)O(shè)置數(shù)據(jù)庫連接屬性,如下圖:

我們可以選擇一個(gè)建立好的數(shù)據(jù)庫連接:

當(dāng)然也可以新增一個(gè)連接,新增數(shù)據(jù)庫連接比較簡(jiǎn)單,就是設(shè)置服務(wù)器地址、用戶名、密碼、數(shù)據(jù)庫名稱等,在此就不介紹了。Visual Studio 2008不僅支持我們連接一個(gè)已經(jīng)存在的數(shù)據(jù)庫,還可以運(yùn)行單元測(cè)試前,自動(dòng)部署一個(gè)數(shù)據(jù)庫供測(cè)試,連接好數(shù)據(jù)庫后,下面將介紹如何進(jìn)行單元測(cè)試。

第三步:測(cè)試用例

在Visual Studio 2008數(shù)據(jù)庫單元測(cè)試的“設(shè)計(jì)”界面,首先會(huì)有二個(gè)下拉框,如下圖所示

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

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

測(cè)試方法:可以新增、刪除、重命名,可以通過增加測(cè)試方法來實(shí)現(xiàn)不同用例的驗(yàn)證。

第四步:編寫測(cè)試腳本

針對(duì)每個(gè)測(cè)試方法可以編寫測(cè)試SQL腳本,即SQL語句,只要能夠在測(cè)試數(shù)據(jù)庫中正確執(zhí)行的SQL語句都可以,然后針對(duì)你編寫的SQL語句執(zhí)行的結(jié)果進(jìn)行驗(yàn)證,如下圖

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

標(biāo)量值:可以判斷第幾個(gè)結(jié)果集的第幾行的第幾列的值是多少,不相等則驗(yàn)證失敗。

非空結(jié)果集:判斷第幾個(gè)結(jié)果集必須有記錄,否則驗(yàn)證失敗。

空結(jié)果集:判斷第幾個(gè)結(jié)果集必須沒有記錄,否則驗(yàn)證失敗。

沒有結(jié)論:無結(jié)論就是測(cè)試沒有結(jié)果,注意當(dāng)你新增加一個(gè)測(cè)試方法時(shí),Visual會(huì)自動(dòng)生成一個(gè)沒有結(jié)論的測(cè)試條件,如果你不需要,則手動(dòng)刪除掉。

行數(shù):判斷第幾個(gè)結(jié)果集返回的行數(shù),否則驗(yàn)證失敗。

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

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

當(dāng)返回的行數(shù)等于30時(shí),代表數(shù)據(jù)庫中的數(shù)量是正確的。當(dāng)然你也可以增加其它測(cè)試條件,如使用標(biāo)量值驗(yàn)證參數(shù)的名稱是否正確等。

第五步:運(yùn)行測(cè)試

點(diǎn)擊“運(yùn)行測(cè)試”按鈕即可得到測(cè)試結(jié)果,如下圖所示:

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

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

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

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

本篇簡(jiǎn)單介紹了Visual Studio 2008單元測(cè)試的數(shù)據(jù)庫測(cè)試功能

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

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2017-04-07 13:45:02

PHP單元測(cè)試數(shù)據(jù)庫測(cè)試

2010-03-02 09:10:41

Visual Stud

2012-06-18 10:03:46

Visual Stud

2017-01-14 23:42:49

單元測(cè)試框架軟件測(cè)試

2021-08-04 10:51:04

數(shù)據(jù)庫單元測(cè)試SQL

2020-08-18 08:10:02

單元測(cè)試Java

2021-03-11 12:33:50

JavaPowerMock技巧

2017-01-16 12:12:29

單元測(cè)試JUnit

2017-01-14 23:26:17

單元測(cè)試JUnit測(cè)試

2011-05-16 16:52:09

單元測(cè)試徹底測(cè)試

2016-09-14 21:55:33

前端測(cè)試Karma

2017-03-23 16:02:10

Mock技術(shù)單元測(cè)試

2023-07-28 10:27:48

Java單元測(cè)試

2021-05-05 11:38:40

TestNGPowerMock單元測(cè)試

2023-07-26 08:58:45

Golang單元測(cè)試

2011-07-04 18:16:42

單元測(cè)試

2020-05-07 17:30:49

開發(fā)iOS技術(shù)

2011-12-01 09:20:41

軟件工程

2022-04-27 08:17:07

OCMock單元測(cè)試集成

2017-02-23 15:59:53

測(cè)試MockSetup
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)