欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種在mvc中使用測試驅(qū)動開發(fā)的存儲庫模式的制作方法

文檔序號:6370218閱讀:293來源:國知局
專利名稱:一種在mvc 中使用測試驅(qū)動開發(fā)的存儲庫模式的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及ー種使用測試驅(qū)動開發(fā)(TDD)的方法,具體涉及ー種在MVC中使用測試驅(qū)動開發(fā)的存儲庫模式。
背景技術(shù)
目前在MVC的単元測試中,對控制器方法進(jìn)行單元測試時,涉及到調(diào)用數(shù)據(jù)訪問的添加、修改、刪除、查詢時,往往需要真實的數(shù)據(jù)庫服務(wù)器支持,才能正常運(yùn)行單元測試代碼。通過對以往単元測試的分析,發(fā)現(xiàn)存在著諸多不便實現(xiàn)的問題。其具體問題包括
1、首先執(zhí)行單元測試時,需要真實的數(shù)據(jù)庫服務(wù)器支持;
2、編輯和刪除數(shù)據(jù)的單元測試將更改數(shù)據(jù)庫的狀態(tài),這就需要每ー輪的単元測試都具有干凈的數(shù)據(jù)庫環(huán)境;
3、在對控制器方法進(jìn)行單元測試時,如果被測試方法中需要調(diào)用另一個類中的某個方法,并且需要獲得該方法的返回值,才能正確執(zhí)行。如果被調(diào)用的方法由于某種原因沒有開發(fā)完成,在這種情況下,要想對此方法進(jìn)行測試,只能等待被調(diào)用類開發(fā)完成。

發(fā)明內(nèi)容
發(fā)明提供了ー種在MVC中使用測試驅(qū)動開發(fā)的存儲庫模式,目的在于解決單元測試對真實數(shù)據(jù)庫和其他外部組件的依賴,提供ー種新型的臨時的存儲庫模式,更大的優(yōu)化單元測試的靈活性、可測試性。樣處理廠的告知系統(tǒng)為實現(xiàn)上述技術(shù)目的,達(dá)到上述技術(shù)效果,本發(fā)明通過以下技術(shù)方案實現(xiàn)
ー種在MVC中使用測試驅(qū)動開發(fā)的存儲庫模式,其特征在于,包括以下步驟
步驟I)添加存儲庫,定義一個訪問數(shù)據(jù)庫的接ロ ;
步驟2)創(chuàng)建測試驅(qū)動,實現(xiàn)mock存儲庫;
步驟3)添加測試類支持,在目標(biāo)測試類中定義兩個構(gòu)造函數(shù);
第一個構(gòu)造函數(shù)是無參數(shù)構(gòu)造函數(shù),第二個構(gòu)造函數(shù)采用了 IContactRepository類型的參數(shù),所述第二個構(gòu)造函數(shù)將由單元測試傳入所述mock存儲庫;所述第一個構(gòu)造函數(shù)將創(chuàng)建EF_ContactR印ository類的實例,當(dāng)調(diào)用控制器中的操作方法吋,MVC管道將調(diào)用所述第一個構(gòu)造函數(shù);
步驟4)添加測試,在所述測試類中編寫測試方法,調(diào)用所述第二個構(gòu)造函數(shù)。本發(fā)明的原理是
本發(fā)明使用具有MVC和TDD的存儲庫模式,需要測試人員為數(shù)據(jù)訪問類創(chuàng)建接ロ;對控制器方法進(jìn)行單元測試時,可根據(jù)接ロ實例化mock存儲庫,去模擬實際運(yùn)行過程中的對數(shù)據(jù)的添加、修改、刪除、查詢。采用MVC的TDD的原則之ー是,每個測試應(yīng)驅(qū)動操作方法中的ー個特定要求,測試不應(yīng)驗證數(shù)據(jù)庫或其他組件(盡量把這些組件放在數(shù)據(jù)訪問的単元測試和集成測試中進(jìn)行測試)。本發(fā)明的有益效果是
1、執(zhí)行單元測試時,不需要真實的數(shù)據(jù)庫服務(wù)器;
2、編輯和刪除數(shù)據(jù)的單元測試,不需要在執(zhí)行每一輪單元測試時,準(zhǔn)備干凈的數(shù)據(jù)庫環(huán)境;
3、為單元測試提供了替換點(diǎn),可以輕松地測試業(yè)務(wù)邏輯而無需數(shù)據(jù)庫和其他外部依賴項。


圖I為本發(fā)明的流程圖。
具體實施例方式下面將參考附圖并結(jié)合實施例,來詳細(xì)說明本發(fā)明。參見圖I所示,ー種在MVC中使用測試驅(qū)動開發(fā)的存儲庫模式,包括以下步驟 步驟I)添加存儲庫
使用具有MVC和測試驅(qū)動開發(fā)(TDD)的存儲庫模式,需要測試人員為數(shù)據(jù)訪問類創(chuàng)建接ロ。對控制器方法進(jìn)行單元測試吋,可根據(jù)接ロ實例化mock存儲庫,去模擬實際運(yùn)行過程中的對數(shù)據(jù)的添加、修改、刪除、查詢。定義ー個訪問數(shù)據(jù)庫的接ロ
1.publicinterface 丄しontactRepository
2.{
3.void CreateNewContact(しontact contactioireatej;
4.void DeleteContact unt id);
5.Contact GetContactByID(int id);
6.IEnumerabIe<Contact> GetAllContacts();
7.int SaveChanges ();
8.}
步驟2)創(chuàng)建測試驅(qū)動,實現(xiàn)mock存儲庫
1.class InMemoryContactReposit ory : IContactRepository
2.{
3.private List<Contact> —db = new List<Contact> ();
4.public Exception ExceptionToThrow { get; set; }
5.public void SaveChanges(Contact contactToUpdate) {}
6.public void Add (Contact contactToAdd) {}
7.public Contact GetContactByID(int id) {} 8.public void CreateNewContact(Contact contactToCreate) {}public int SaveChanges () {}
9.public IEnumerabIe<Contact> GetAllContacts() {}
10.public void DeleteContact(int id) {}
11.I
步驟3)添加測試支持,在目標(biāo)測試類中定義兩個構(gòu)造函數(shù)
1.public HomeController() this (,new EF_ContactRepository ()) { }
2.publicHomeController(IContactRepository repository)
3.{
4.—repository = repository;
5.}
一個是無參數(shù)構(gòu)造函數(shù);另ー個構(gòu)造函數(shù)采用了 IContactRepository類型的參數(shù),該構(gòu)造函數(shù)將由單元測試傳入mock存儲庫。無參數(shù)構(gòu)造函數(shù)將創(chuàng)建EF_ContactRepository類的實例,當(dāng)調(diào)用控制器中的操作方法時,MVC管道將調(diào)用該構(gòu)造函數(shù)。步驟4)添加測試
采用MVC的TDD的原則之ー是,每個測試應(yīng)驅(qū)動操作方法中的ー個特定要求,測試不應(yīng)驗證數(shù)據(jù)庫或其他組件(盡量把這些組件放在數(shù)據(jù)訪問的単元測試和集成測試中進(jìn)行測試)。

在測試類中編寫測試方法,調(diào)用被測試類的有參構(gòu)造函數(shù)(采用了IContactRepository 類型的參數(shù))。I.private static HomeController GetHomeControl丄er(IContactRepositoryrepository)
編寫測試方法
1.[TestMethod]
2.public void CreateTest O 卜·}
綜上所述,采用MVC的TDD為單元測試提供了替換點(diǎn),測試人員可以輕松地測試業(yè)務(wù)邏輯,而無需數(shù)據(jù)庫和其他外部依賴項。上述實施例只是為了說明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的是在于讓本領(lǐng)域內(nèi)的普通技術(shù)人員能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,并不能以此限制本發(fā)明的保護(hù)范圍。凡是根據(jù)本發(fā)明內(nèi)容的實質(zhì)所作出的等效的變化或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.ー種在MVC中使用測試驅(qū)動開發(fā)的存儲庫模式,其特征在于,包括以下步驟 步驟I)添加存儲庫,定義一個訪問數(shù)據(jù)庫的接ロ ; 步驟2)創(chuàng)建測試驅(qū)動,實現(xiàn)mock存儲庫; 步驟3)添加測試類支持,在目標(biāo)測試類中定義兩個構(gòu)造函數(shù); 第一個構(gòu)造函數(shù)是無參數(shù)構(gòu)造函數(shù),第二個構(gòu)造函數(shù)采用了 IContactRepository類型的參數(shù),所述第二個構(gòu)造函數(shù)將由單元測試傳入所述mock存儲庫;所述第一個構(gòu)造函數(shù)將創(chuàng)建EF_ContactR印ository類的實例,當(dāng)調(diào)用控制器中的操作方法吋,MVC管道將調(diào)用所述第一個構(gòu)造函數(shù); 步驟4)添加測試,在所述測試類中編寫測試方法,調(diào)用所述第二個構(gòu)造函數(shù)。
全文摘要
本發(fā)明公開了一種在MVC中使用測試驅(qū)動開發(fā)的存儲庫模式,使用具有MVC和測試驅(qū)動開發(fā)的存儲庫模式,需要測試人員為數(shù)據(jù)訪問類創(chuàng)建接口;對控制器方法進(jìn)行單元測試時,可根據(jù)接口實例化mock存儲庫,去模擬實際運(yùn)行過程中的對數(shù)據(jù)的添加、修改、刪除、查詢。該發(fā)明執(zhí)行單元測試時,不需要真實的數(shù)據(jù)庫服務(wù)器;編輯和刪除數(shù)據(jù)的單元測試,不需要在執(zhí)行每一輪單元測試時,準(zhǔn)備干凈的數(shù)據(jù)庫環(huán)境;為單元測試提供了替換點(diǎn),可以輕松地測試業(yè)務(wù)邏輯而無需數(shù)據(jù)庫和其他外部依賴項。
文檔編號G06F11/36GK102693182SQ20121016471
公開日2012年9月26日 申請日期2012年5月25日 優(yōu)先權(quán)日2012年5月25日
發(fā)明者張吉英, 易川, 李德逸, 董陽 申請人:蘇州博遠(yuǎn)容天信息科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
衡水市| 柳河县| 深州市| 祁东县| 芮城县| 班玛县| 临沂市| 湟源县| 孟州市| 赤水市| 江永县| 咸丰县| 博客| 鹤山市| 绥滨县| 上思县| 宽甸| 宜丰县| 界首市| 菏泽市| 名山县| 东台市| 安塞县| 东海县| 綦江县| 炉霍县| 佛教| 海原县| 金平| 栾川县| 汾阳市| 衡阳市| 阿合奇县| 汾阳市| 苍溪县| 呈贡县| 长岭县| 陇西县| 方正县| 陆川县| 大冶市|