Soumettre la recherche
Mettre en ligne
Nhibernate+sqlite測試實戰經驗分享
•
Télécharger en tant que PPTX, PDF
•
0 j'aime
•
897 vues
Wade Huang
Suivre
Technologie
Signaler
Partager
Signaler
Partager
1 sur 21
Télécharger maintenant
Recommandé
Chapter 4 models
Chapter 4 models
Ekman Hsieh
整合資料庫
整合資料庫
Justin Lin
Oracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.ppt
james tong
NHibernate分享(1) share
NHibernate分享(1) share
Xu Huang
10. 資料永續與交換
10. 資料永續與交換
Justin Lin
例外處理與單元測試
例外處理與單元測試
國昭 張
Entity Framework實戰
Entity Framework實戰
國昭 張
CH16:整合資料庫
CH16:整合資料庫
Justin Lin
Recommandé
Chapter 4 models
Chapter 4 models
Ekman Hsieh
整合資料庫
整合資料庫
Justin Lin
Oracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.ppt
james tong
NHibernate分享(1) share
NHibernate分享(1) share
Xu Huang
10. 資料永續與交換
10. 資料永續與交換
Justin Lin
例外處理與單元測試
例外處理與單元測試
國昭 張
Entity Framework實戰
Entity Framework實戰
國昭 張
CH16:整合資料庫
CH16:整合資料庫
Justin Lin
CH04:認識物件
CH04:認識物件
Justin Lin
111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql
Zoom Quiet
Java单元测试
Java单元测试
darlingshan
中软
中软
yiditushe
Refactoring with Patterns in PHP
Refactoring with Patterns in PHP
Jace Ju
Lucene实践
Lucene实践
晓锋 陈
Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
Codeception test
Codeception test
Chin-Yu Ku
Ch07 使用 JSTL
Ch07 使用 JSTL
Justin Lin
快速了解PostgreSQL
快速了解PostgreSQL
正中 周
網站自動化測試
網站自動化測試
Bruce Chen
Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器
Justin Lin
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
Frank S.C. Tseng
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
jasmine入门指南
jasmine入门指南
Zhicheng Wang
Web testing automation
Web testing automation
kuozui
软件设计原则、模式与应用
软件设计原则、模式与应用
yiditushe
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Justin Lin
Java 6中的线程优化真的有效么?
Java 6中的线程优化真的有效么?
wensheng wei
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超
drewz lin
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
Contenu connexe
Tendances
CH04:認識物件
CH04:認識物件
Justin Lin
111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql
Zoom Quiet
Java单元测试
Java单元测试
darlingshan
中软
中软
yiditushe
Refactoring with Patterns in PHP
Refactoring with Patterns in PHP
Jace Ju
Lucene实践
Lucene实践
晓锋 陈
Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
Codeception test
Codeception test
Chin-Yu Ku
Ch07 使用 JSTL
Ch07 使用 JSTL
Justin Lin
快速了解PostgreSQL
快速了解PostgreSQL
正中 周
網站自動化測試
網站自動化測試
Bruce Chen
Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器
Justin Lin
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
Frank S.C. Tseng
Tendances
(14)
CH04:認識物件
CH04:認識物件
111030 gztechparty-小路-云时代的mysql
111030 gztechparty-小路-云时代的mysql
Java单元测试
Java单元测试
中软
中软
Refactoring with Patterns in PHP
Refactoring with Patterns in PHP
Lucene实践
Lucene实践
Ch09 整合資料庫
Ch09 整合資料庫
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Codeception test
Codeception test
Ch07 使用 JSTL
Ch07 使用 JSTL
快速了解PostgreSQL
快速了解PostgreSQL
網站自動化測試
網站自動化測試
Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
Similaire à Nhibernate+sqlite測試實戰經驗分享
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
jasmine入门指南
jasmine入门指南
Zhicheng Wang
Web testing automation
Web testing automation
kuozui
软件设计原则、模式与应用
软件设计原则、模式与应用
yiditushe
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Justin Lin
Java 6中的线程优化真的有效么?
Java 6中的线程优化真的有效么?
wensheng wei
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超
drewz lin
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
软件工程 第七章
软件工程 第七章
浒 刘
PHPUnit
PHPUnit
jameslabs
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
ArBing Xie
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
Jackson Tian
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Justin Lin
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
潘 冠辰
单元测试(H2等)和持续集成(Hudson)实战简介
单元测试(H2等)和持续集成(Hudson)实战简介
isxylands
Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫
Justin Lin
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
leneli
Big Java, Big Data
Big Java, Big Data
Kuo-Chun Su
+++º+ ¦¦ ¦ ¦¦ ¦+ =
+++º+ ¦¦ ¦ ¦¦ ¦+ =
guesta6295f3
软件工程 第十一章
软件工程 第十一章
浒 刘
Similaire à Nhibernate+sqlite測試實戰經驗分享
(20)
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
jasmine入门指南
jasmine入门指南
Web testing automation
Web testing automation
软件设计原则、模式与应用
软件设计原则、模式与应用
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java 6中的线程优化真的有效么?
Java 6中的线程优化真的有效么?
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
软件工程 第七章
软件工程 第七章
PHPUnit
PHPUnit
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
单元测试(H2等)和持续集成(Hudson)实战简介
单元测试(H2等)和持续集成(Hudson)实战简介
Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
Big Java, Big Data
Big Java, Big Data
+++º+ ¦¦ ¦ ¦¦ ¦+ =
+++º+ ¦¦ ¦ ¦¦ ¦+ =
软件工程 第十一章
软件工程 第十一章
Plus de Wade Huang
Introducing taiwan
Introducing taiwan
Wade Huang
跟著Wade學習ASP.NET MVC + NHibernate - Day 9
跟著Wade學習ASP.NET MVC + NHibernate - Day 9
Wade Huang
跟著Wade學習ASP.NET MVC + NHibernate - Day 12
跟著Wade學習ASP.NET MVC + NHibernate - Day 12
Wade Huang
跟著Wade學習ASP.NET MVC + NHibernate - Day 11
跟著Wade學習ASP.NET MVC + NHibernate - Day 11
Wade Huang
跟著Wade學習ASP.NET MVC + NHibernate - Day 7
跟著Wade學習ASP.NET MVC + NHibernate - Day 7
Wade Huang
跟著Wade學習ASP.NET MVC + NHibernate - Day 6
跟著Wade學習ASP.NET MVC + NHibernate - Day 6
Wade Huang
跟著Wade學習ASP.NET MVC + NHibernate - Day 5
跟著Wade學習ASP.NET MVC + NHibernate - Day 5
Wade Huang
跟著Wade學習ASP.NET MVC + NHibernate - Day 4
跟著Wade學習ASP.NET MVC + NHibernate - Day 4
Wade Huang
跟著Wade學習ASP.NET MVC + NHibernate - Day 3
跟著Wade學習ASP.NET MVC + NHibernate - Day 3
Wade Huang
Plus de Wade Huang
(9)
Introducing taiwan
Introducing taiwan
跟著Wade學習ASP.NET MVC + NHibernate - Day 9
跟著Wade學習ASP.NET MVC + NHibernate - Day 9
跟著Wade學習ASP.NET MVC + NHibernate - Day 12
跟著Wade學習ASP.NET MVC + NHibernate - Day 12
跟著Wade學習ASP.NET MVC + NHibernate - Day 11
跟著Wade學習ASP.NET MVC + NHibernate - Day 11
跟著Wade學習ASP.NET MVC + NHibernate - Day 7
跟著Wade學習ASP.NET MVC + NHibernate - Day 7
跟著Wade學習ASP.NET MVC + NHibernate - Day 6
跟著Wade學習ASP.NET MVC + NHibernate - Day 6
跟著Wade學習ASP.NET MVC + NHibernate - Day 5
跟著Wade學習ASP.NET MVC + NHibernate - Day 5
跟著Wade學習ASP.NET MVC + NHibernate - Day 4
跟著Wade學習ASP.NET MVC + NHibernate - Day 4
跟著Wade學習ASP.NET MVC + NHibernate - Day 3
跟著Wade學習ASP.NET MVC + NHibernate - Day 3
Nhibernate+sqlite測試實戰經驗分享
1.
黃偉榮
1
2.
個人介紹 Wade 黃偉榮
2011 C# MVP TW MVC 創辦人之一 [點部落]黃偉榮的學習筆記 www.dotblogs.com.tw/wadehuang36/ 2
3.
大綱
簡單介紹單元測試 單元測試困難的地方,與操作經驗 NHibernate+Sqlite幫我決解那些問題 3
4.
單元測試?
什麼是單元測試? 驗證程式的行為與期望是一致 為什麼要寫單元測試? 保證自己寫的程式沒有問題 回歸測試? 原有功能在修改後是否保持完整 單元測試無法測試出? UI 商業邏輯 整體效能等等 4
5.
單元測試困難的地方?
程式的耦合度不能太高 每一個Method處理的事務不能太大 測試資料的準備 • 考試成績計算 • 購物車折扣計算 • 排行計算 5
6.
曾經嘗試過那些方法
解耦合到受測Method資料來源完全使用參數傳遞 自己寫DAO 使用DataSet 使用測試資料庫,建snapshot 使用Entity Framework時使用Mock DataContext 使用NHibernate+Sqlite 6
7.
受測Method資料來源完全使用參數傳遞
7
8.
受測Method資料來源完全使用參數傳遞
8
9.
自己寫DAO 呈現層
邏輯層 資料存取層 DB 9
10.
自己寫DAO
資料存取層 DB 資料存取層 呈現層 邏輯層 DataSet (For 測試) 使用IoC切換 10
11.
自己寫DAO 使用DataSet
11
12.
自己寫DAO 使用DataSet
12
13.
Entity Framework Mock
Context 黃偉榮的學習筆記:使用ContextMock以不連結資料庫的方式做單元測試 13
14.
使用測試資料庫,建snapshot CREATE DATABASE TestExamDb__SS_1 ON
( ) AS SNAPSHOT OF TestExamDb; RESTORE DATABASE TestExamDb FROM DATABASE_SNAPSHOT = ‘ExamDb_SS_1‘; 有一個很大的缺點,測試Method多,很容易因 為Lock而失敗。 14
15.
Code First
ORM的Model有幾種設計方式 Database First Model First Code First ○ Entity Framework 4.1 + ○ NHibernate 3.2 + Model/Code First都有一個特性,一開始都 沒有Database, Database是動態產生的, 所以可以每一次測試都產生新增Database與 新增測試資料。 15
16.
用NHibernate+Sqlite的好處
NHibernate的特色 支援的DB多 Map彈性大 Event Cache Log HQL與SQL支援 Sqlite的特色 對測試的便利性 16
17.
二種策略
產生很多*.db檔,執行時複製檔案 適合資料量大 缺點:Schema或測試資料異動時很麻煩 NhibernateTestHelper.Copy(fileName) 使用Create Schema與初始化資料 Schema或測試資料異動時較方便 缺點:資料量大時測試時間會加長 NhibernateTestHelper.CreateSchema(iniClass[]) 17
18.
使用的單元測試工具 •
Microsoft Visual Studio Unit Testing 18
19.
單元測試的一些小技巧
Moles - Isolation framework for .NET 亂數 日期 Mock Moq 寄Email(Call INotifyService) 訂單執行刷卡服務 (IOrderService Call ICreditService) 19
20.
20
21.
21
Télécharger maintenant