課程時間
🔧【Tools工具安裝】5:07:24
🎬【Preview導讀】2:49:20
🎬【TestEpisode3(第3篇)-UnitTest(單元測試)、IntegrationTest(整合測試)】24:15:47
課程章節
請按「Preview」預覽章節。
- FAQ-Handout,SampleCode(常見問題-講義、範例程式碼)
- (P1)關於測試 (12:33)
- (P2)UnitTest(單元測試)、IntegrationTest(整合測試)、EndToEndTest(端對端測試) (9:58)
- (P3-1)導讀Test(1to5)(.NetFramework) (20:19)
- (P3-2)導讀Test(1)(.NetFramework) (19:36)
- (P3-3)導讀Test(2)(.NetFramework) (31:58)
- (P3-4)導讀Test(3)(.NetFramework) (23:22)
- (P3-5)導讀Test(4)(.NetFramework) (23:50)
- (P3-6)導讀Test(5)(.NetFramework) (16:21)
- (T48-1)複習和安裝EfPocoGenerator,建立Datable (17:34)
- (T48-2)在Database,建立Table (14:25)
- (T48-3)在Database,InsertData (15:45)
- (T48-4)在Database,建立StoredProcedure、DynamicTSQL (19:34)
- (T48-5)在Database,建立StoredProcedure (12:31)
- (T48-6)在Database,重新InsertData (1:37)
- (T48-7)在Database,建立TestDatabase(測試用資料庫) (2:47)
- (T48-8)圖解要怎麼實作UnitOfWork、Repository的觀念 (9:08)
- (T50-1)對應資料庫Table到DataAccess層的EfModelClass (12:36)
- (T50-2)對應資料庫TableRelationship到DataAccess層的EfModelConfigurationClass (15:45)
- (T50-3)討論DbContext (9:42)
- (T50-4)用Migration指令更新資料庫Table (13:49)
- (T50-5)在UiConsoleApp(使用者介面)建立StaticMethod去用Ef存取資料庫Table (6:00)
- (T50-6)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行Find(搜尋資料) (6:52)
- (T50-7)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行Add(新增資料) (13:53)
- (T50-8)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行AddMultiple(新增多筆資料) (6:51)
- (T50-9)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行DeleteMultiple(刪除多筆資料) (10:20)
- (T50-10)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行Delete(刪除資料) (8:52)
- (T51-1)用PocoGenerator把資料庫的StoredProcedure連接到在假Solution-OnlineGameTwo的DataAccess層的EF程式碼 (23:02)
- (T51-2)在真Solution-OnlineGame把資料庫的StoredProcedure連接到在假Solution-OnlineGameTwo的DataAccess層的EF程式碼 (21:50)
- (T51-3)在UiConsoleApp(使用者介面)建立StaticMethod去用Ef存取資料庫StoredProcedure (2:02)
- (T51-4)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫StoredProcedure。執行SpSearchGamerAndDetail(搜尋多對多資料) (9:07)
- (T51-5)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫StoredProcedure。執行SpInsertGamerAndDetail(新增多對多資料) (3:19)
- (T51-6)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫StoredProcedure。執行SpUpdateGamerAndDetail(更新多對多資料) (3:13)
- (T51-7)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫StoredProcedure。執行SpDeleteGamerAndDetail(刪除多對多資料) (3:08)
- (T51-8)討論Migration指令不能建立資料庫StoredProcedure (8:04)
- (T51-9)討論ConnectionString (12:42)
- (T52-1)討論EfModelRepository層的GamerDetailRepository、GamerDetailValidator (5:28)
- (T52-2)討論EfModelRepository層的GamerRepository、GamerValidator (8:59)
- (T53-1)討論EfModelRepository層的GenericRepositoryInterface,IRepository (10:31)
- (T53-2)討論EfModelRepository層的OnePkRepositoryInterface,IOnePkWithAllOthersRepository (4:52)
- (T53-3)討論EfModelRepository層的GetRepositoryInterface,IGetWithAllOthersRepository (3:29)
- (T53-4)討論EfModelRepository層的GetAllRepositoryInterface,IGetAllWithAllOthersRepository (1:06)
- (T53-5)討論EfModelRepository層的AddRepositoryInterface,IAddRepository (1:14)
- (T53-6)討論EfModelRepository層的DeleteRepositoryInterface,IDeleteRepository (0:57)
- (T53-7)討論EfModelRepository層的UpdateRepositoryInterface,InterfaceIUpdateRepository (0:51)
- (T53-8)討論EfModelRepository層的GenericRepository,Repository (14:20)
- (T53-9)討論EfModelRepository層的AddRepository (10:13)
- (T53-10)討論EfModelRepository層的OnePkRepository (5:35)
- (T54-1)討論EfModelRepository層的GamerDetailRepository (22:48)
- (T54-2)討論EfModelRepository層的GamerRepository (15:43)
- (T54-3)討論EfModelRepository層的UnitOfWorkInterface,IUnitOfWork (10:39)
- (T54-4)討論EfModelRepository層的UnitOfWork (19:21)
- (T55-1)在UiConsoleApp(使用者介面)用Ef存取資料庫Table。討論EfModelRepository層的OnePkRepository執行Add(新增資料) (24:17)
- (T55-2)在UiConsoleApp(使用者介面)用Ef存取資料庫Table。討論EfModelRepository層的OnePkRepository執行AddMultiple(新增多筆資料) (6:25)
- (T55-3)在UiConsoleApp(使用者介面)用Ef存取資料庫Table。討論EfModelRepository層的OnePkRepository執行Update(更新資料) (17:14)
- (T56-1)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。執行SpSearchGamerAndDetail(搜尋多對多資料) (24:28)
- (T56-2)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。執行SpInsertGamerAndDetail(新增多對多資料) (10:59)
- (T56-3)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。執行SpUpdateGamerAndDetail(更新多對多資料) (5:20)
- (T56-4)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。執行SpDeleteGamerAndDetail(刪除多對多資料) (6:08)
- (T59-1)用NUnit測試EfModelRepository層的GamerDetailComparer (32:01)
- (T59-2)用NUnit測試EfModelRepository層的GamerComparer (21:58)
- (T59-3)用NUnit測試EfModelRepository層的SpSearchGamerAndDetailReturnModelComparer (29:33)
- (T60-1)用NUnit測試EfModelRepository層的GamerDetailValidator (8:04)
- (T60-2)用NUnit測試EfModelRepository層的GamerValidator (17:35)
- (T61-1)NUnit單元測試EfModelRepository層的GamerDetailRepository的TestInitialize、CleanUp (22:47)
- (T61-2)NUnit單元測試EfModelRepository層的GamerDetailRepository的Repository的GetAll(讀取全部資料)和Find(搜尋資料) (30:57)
- (T61-3)NUnit單元測試EfModelRepository層的GamerDetailRepository的Repository的SingleOrDefault(搜尋並取第一筆資料) (9:27)
- (T61-4)NUnit單元測試EfModelRepository層的GamerDetailRepository的OnePkRepository的Get(用Id取資料) (9:26)
- (T61-5)NUnit單元測試EfModelRepository層的GamerDetailRepository的EntityRepository的Get(取得資料和關聯資料) (15:25)
- (T61-6)NUnit單元測試EfModelRepository層的GamerDetailRepository的EntityRepository的Add(新增資料)和Delete(刪除資料) (18:48)
- (T61-7)NUnit單元測試EfModelRepository層的GamerDetailRepository的EntityRepository的AddMultiple和DeleteMultiple (19:18)
- (T61-8)NUnit單元測試EfModelRepository層的GamerDetailRepository的EntityRepository的Update(更新資料) (17:09)
- (T61-9)複習用NUnit單元測試觀念 (10:09)
- (T61-10)NUnit單元測試EfModelRepository層的GamerRepository的TestInitialize、CleanUp (8:09)
- (T61-11)NUnit單元測試EfModelRepository層的GamerRepository的Repository的GetAll(讀取全部資料)和Find(搜尋資料) (20:30)
- (T61-12)NUnit單元測試EfModelRepository層的GamerRepository的Repository的SingleOrDefault(搜尋並取第一筆資料) (13:06)
- (T61-13)NUnit單元測試EfModelRepository層的GamerRepository的OnePkRepository的Get(用Id取資料) (6:44)
- (T61-14)NUnit單元測試EfModelRepository層的GamerRepository的EntityRepository的Get(取得資料和關聯資料) (10:49)
- (T61-15)NUnit單元測試EfModelRepository層的GamerRepository的EntityRepository的Add(新增資料)和Delete(刪除資料) (14:12)
- (T61-16)NUnit單元測試EfModelRepository層的GamerRepository的EntityRepository的AddMultiple和DeleteMultiple (23:43)
- (T61-17)NUnit單元測試EfModelRepository層的GamerRepository的EntityRepository的Update(更新資料) (9:24)
- (T62-1)NUnit整合測試EfModelRepository層的GamerDetailRepository的TestInitialize、CleanUp (21:58)
- (T62-2)NUnit整合測試EfModelRepository層的GamerDetailRepository的Repository的GetAll、Find、SingleOrDefault (12:27)
- (T62-3)NUnit整合測試EfModelRepository層的GamerDetailRepository的OnePkRepository的Get(用Id取資料) (2:21)
- (T62-4)NUnit整合測試EfModelRepository層的GamerDetailRepository的EntityRepository的Get(取得資料和關聯資料) (1:59)
- (T62-5)NUnit整合測試EfModelRepository層的GamerDetailRepository的Add、AddMultiple、Delete、DeleteMultiple (22:04)
- (T62-6)NUnit整合測試EfModelRepository層的GamerDetailRepository的EntityRepository的Update(更新資料) (33:32)
- (T62-7)NUnit整合測試EfModelRepository層的GamerRepository的TestInitialize、CleanUp (15:34)
- (T62-8)NUnit整合測試EfModelRepository層的GamerRepository的Repository的GetAll、Find、SingleOrDefault (7:10)
- (T62-9)NUnit整合測試EfModelRepository層的GamerRepository的OnePkRepository的Get(用Id取資料) (1:51)
- (T62-10)NUnit整合測試EfModelRepository層的GamerRepository的EntityRepository的Get(取得資料和關聯資料) (2:26)
- (T62-11)NUnit整合測試EfModelRepository層的GamerRepository的Add、AddMultiple、Delete、DeleteMultiple (24:53)
- (T62-12)NUnit整合測試EfModelRepository層的GamerRepository的EntityRepository的Update(更新資料) (15:38)
- (T62-13)不建議NUnit的TestOrder (12:51)
- (T63-1)用NUnit執行IntegrationTest(整合測試)Ef存取資料庫StoredProcedure的TestInitialize、CleanUp (11:38)
- (T63-2)用NUnit執行IntegrationTest(整合測試)Ef存取資料庫StoredProcedure的SpSearchGamerAndDetailReturnModel (14:02)
- (T63-3)用NUnit整合測試SpInsertGamerAndDetail, SpUpdateGamerAndDetail, SpDeleteGamerAndDetail (32:25)
- (T63-4)用NUnit執行IntegrationTest(整合測試)Ef存取資料庫StoredProcedure的SpDeleteGamerAndDetail (28:09)
- (T64-1)用MSTest測試EfModelRepository層的GamerDetailComparer (7:18)
- (T64-2)用MSTest測試EfModelRepository層的GamerComparer (4:43)
- (T64-3)用MSTest測試EfModelRepository層的SpSearchGamerAndDetailReturnModelComparer (3:39)
- (T65-1)用MSTest測試EfModelRepository層的GamerDetailValidator (8:11)
- (T65-2)用MSTest測試EfModelRepository層的GamerValidator (11:01)
- (T66-1)MSTest單元測試EfModelRepository層的GamerDetailRepository (11:21)
- (T66-2)MSTest單元測試EfModelRepository層的GamerRepository (9:48)
- (T69-1)在EfModelRepository層建立Gamer、GamerDetail的Interface和LuckyReward邏輯 (9:01)
- (T69-2)用MockingFramework(隔離框架)Moq隔離Gamer、GamerDetail,用NUnit單元測試LuckyReward (21:12)
- (T69-3)用MockingFramework(隔離框架)Moq隔離Gamer、GamerDetail,用MSTest單元測試LuckyReward (5:43)
- (T69-4)用MockingFramework(隔離框架)NSubstitute隔離Gamer、GamerDetail,用NUnit單元測試LuckyReward (7:14)
- (T69-5)用MockingFramework(隔離框架)NSubstitute隔離Gamer、GamerDetail,用MSTest單元測試LuckyReward (3:56)
- (T69-6)結論MockingFramework(隔離框架)Moq、NSubstitute (19:28)
🔴如果您在HiSKIO上購買了課程,則無需在Teachable重新購買相同課程。
請注意,Teachable Pay的發票無法提供給台灣公司報稅,如果需要台灣發票報稅,請去HiSKIO購買。
Teachable可能會產大約5%的「海外交易費」(詳情請諮詢您的發卡機構),為了學生權益,請使用「10%off」折價券
「Bundle」(組合包)更划算!
#「.Net Framework」相關系列「Bundle」(組合包)
- 🚀「包含5堂課」B-2-TSQL、C#、Linq、MVC、API同步攻略(Click here)
- 🚀「包含6堂課」B-3-EF(.NetFramework)學程第1-6篇(Click here)
- 🚀「包含5堂課」B-4-單元整合測試學程第1-5篇(Click here)
- 🚀「包含16堂課」B-5-扎實打底.NetFramework學程-TSQL、C#、LINQ、MVC、API、EF第1-6篇、測試第1-5篇(Click here)
-
🚀「IT工具人學院全部課程」B-1-1-All Course Membership全能學生證(Click here)
.Net Framework Serious(學程)
注意: 因為此系列已經沒有新東西可以教了,所以這個學程不會再加入新內容了!
#請來這邊看「.Net Framework Serious(學程)」簡介(Click here)
- 🚀2-1-TSQL(.NetFramework)扎實打底(Click here)
- 🚀2-2-C#(.NetFramework)深入解析(Click here)
- 🚀2-3-Linq(.NetFramework)完全攻略(Click here)
- 🚀2-4-Asp.NetMVC(.NetFramework)完全精通(Click here)
- 2-5A-EF(1to3)(.NetFramework)
- 🚀2-5A-1-EntityFrameworkEpisode1(第1篇)-CodeFirst、DBFirst(Click here)
- 🚀2-5A-2-EntityFrameworkEpisode2(第2篇)-FluentAPI、DataAnnotation(Click here)
- 🚀2-5A-3-EntityFrameworkEpisode3(第3篇)-UnitOfWorkWithRepository(Click here)
- 2-6B-Test(1to5)(.NetFramework)
- 🚀2-6B-1-TestEpisode1(第1篇)-TestFramework(測試框架)-MSTest、NUnit(Click here)
- 🚀2-6B-2-TestEpisode2(第2篇)-MockingFramework(隔離框架)-NSubstitute、Moq(Click here)
- 🚀2-6B-3-TestEpisode3(第3篇)-UnitTest(單元測試)、IntegrationTest(整合測試)(Click here)(👈😁你現在在此!)
- 🚀2-6B-4-TestEpisode4(第4篇)-FluentAssertionsPart1(Click here)
- 🚀2-6B-5-TestEpisode5(第5篇)-FluentAssertionsPart2(Click here)
- 2-7B-EF(4to6)(.NetFramework)PocoGenerator
- 🚀2-7B-4-EntityFrameworkEpisode4(第4篇)-PocoGenerator(Click here)
- 🚀2-7B-5-EntityFrameworkEpisode5(第5篇)-Test、UnitOfWorkWithRepositoryPart1(Click here)
- 🚀2-7B-6-EntityFrameworkEpisode6(第6篇)-Test、UnitOfWorkWithRepositoryPart2(Click here)
-
🚀2-8-Asp.NetMvcApi(.NetFramework)(VS2017)扎實打底(Click here)
本課簡介
Hi My name is Kevin. 我是一名移民到澳大利亞的軟體工程師,個人專注於各種技術和使用者界面的開發與研究。
【TestEpisode3(第3篇)-UnitTest(單元測試)、IntegrationTest(整合測試)】是一門銜接一門的「.Net Framework學程」中其中一個課程。
此篇會(T50ToT51)討論DbContext、EfModel。接著(T52ToT56)討論EfModelRepository、EfModelUnitOfWork。然後(57ToT58)討論Fake、Comparer。重頭戲來了,(59ToT61)用NUnit做UnitTest(單元測試),(T62ToT63)用NUnit做IntegrationTest(整合測試)。不能偏食,所以MSTest也要討論一下。(T64ToT66)用MSTest做UnitTest(單元測試),(T67ToT68)用MSTest做IntegrationTest(整合測試)。最後,(T69)討論MockingFramework(隔離框架)-Moq、NSubstitute
Course Highlight(本課魔王)
😈第一魔王,(T50ToT51)討論DbContext、EfModel
😈第二魔王,(T52ToT56)討論EfModelRepository、EfModelUnitOfWork
😈第三魔王,(T57ToT58)討論Fake、Comparer
😈第四魔王,(T59ToT61)用NUnit做UnitTest(單元測試)
😈第五魔王,(T62ToT63)用NUnit做IntegrationTest(整合測試)
😈第六魔王,(T64ToT66)用MSTest做UnitTest(單元測試)
😈第七魔王,(T67ToT68)用MSTest做IntegrationTest(整合測試)
😈第八魔王,(T69)討論MockingFramework(隔離框架)-Moq、NSubstitute
想朝軟體工程師之路前進嗎?受夠了像是文字天書,艱深難懂的工具文件嗎?對自己的底子沒信心嗎?若你想扎實打底,本課程將讓你收穫滿滿!歡迎加入「IT工具人學院,帶你學到會」,一起練功吧!!顆顆。
工具安裝
🔧Microsoft SQL Server
🔧Visual Studio
🔧NUnit Test Adapter
課前技能
✍HTML 5 CSS3
✍Javascript
✍TSQL
✍C#
✍Linq
✍Asp . Net MVC (. Net Framework)
單元簡介
導讀
- (P1)關於測試
- (P2)UnitTest(單元測試)、IntegrationTest(整合測試)、EndToEndTest(端對端測試)
- (P3)導讀Test(1to5)(.NetFramework)
- (P3-1)導讀Test(1to5)(.NetFramework)
- (P3-2)導讀Test(1)(.NetFramework)
- (P3-3)導讀Test(2)(.NetFramework)
- (P3-4)導讀Test(3)(.NetFramework)
- (P3-5)導讀Test(4)(.NetFramework)
- (P3-6)導讀Test(5)(.NetFramework)
討論UnitOfWork、Repository觀念
- (T48)討論UnitOfWork、Repository觀念
- (T48-1)複習和安裝EfPocoGenerator,建立Datable
- (T48-2)在Database,建立Table
- (T48-3)在Database,InsertData
- (T48-4)在Database,建立StoredProcedure、DynamicTSQL
- (T48-5)在Database,建立StoredProcedure
- (T48-6)在Database,重新InsertData
- (T48-7)在Database,建立TestDatabase(測試用資料庫)
- (T48-8)圖解要怎麼實作UnitOfWork、Repository的觀念
討論PoCoGenerator
- (T49)用PoCoGenerator來加速開發EF
- (T49-1)在Database,建立Table
- (T49-2)在假Solution-OnlineGameTwo使用PocoGenerator自動生成EF程式碼
- (T49-3)在真Solution-OnlineGame建立DataInterface、DataRepository、測試專案
- (T49-4)討論Solution-OnlineGame的ConnectionString
討論DbContext、EfModel
- (T50)使用PoCoGenerator所產生的EF程式碼去連接資料庫Table
- (T50-1)對應資料庫Table到DataAccess層的EfModelClass
- (T50-2)對應資料庫TableRelationship到DataAccess層的EfModelConfigurationClass
- (T50-3)討論DbContext
- (T50-4)用Migration指令更新資料庫Table
- (T50-5)在UiConsoleApp(使用者介面)建立StaticMethod去用Ef存取資料庫Table
- (T50-6)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行Find(搜尋資料)
- (T50-7)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行Add(新增資料)
- (T50-8)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行AddMultiple(新增多筆資料)
- (T50-9)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行DeleteMultiple(刪除多筆資料)
- (T50-10)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫Table。執行Delete(刪除資料)
- (T51)使用PoCoGenerator所產生的EF程式碼去連接資料庫StoredProcedure
- (T51-1)用PocoGenerator把資料庫的StoredProcedure連接到在假Solution-OnlineGameTwo的DataAccess層的EF程式碼
- (T51-2)在真Solution-OnlineGame把資料庫的StoredProcedure連接到在假Solution-OnlineGameTwo的DataAccess層的EF程式碼
- (T51-3)在UiConsoleApp(使用者介面)建立StaticMethod去用Ef存取資料庫StoredProcedure
- (T51-4)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫StoredProcedure。執行SpSearchGamerAndDetail(搜尋多對多資料)
- (T51-5)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫StoredProcedure。執行SpInsertGamerAndDetail(新增多對多資料)
- (T51-6)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫StoredProcedure。執行SpUpdateGamerAndDetail(更新多對多資料)
- (T51-7)在UiConsoleApp(使用者介面)呼叫StaticMethod去用Ef存取資料庫StoredProcedure。執行SpDeleteGamerAndDetail(刪除多對多資料)
- (T51-8)討論Migration指令不能建立資料庫StoredProcedure
- (T51-9)討論ConnectionString
討論EfModelRepository、EfModelUnitOfWork
- (T52)討論EfModelRepository層的Validator(防呆驗證)
- (T52-1)討論EfModelRepository層的GamerDetailRepository、GamerDetailValidator
- (T52-2)討論EfModelRepository層的GamerRepository、GamerValidator
- (T53)討論EfModelRepository層的GenericRepository
- (T53-1)討論EfModelRepository層的GenericRepositoryInterface,IRepository
- (T53-2)討論EfModelRepository層的OnePkRepositoryInterface,IOnePkWithAllOthersRepository
- (T53-3)討論EfModelRepository層的GetRepositoryInterface,IGetWithAllOthersRepository
- (T53-4)討論EfModelRepository層的GetAllRepositoryInterface,IGetAllWithAllOthersRepository
- (T53-5)討論EfModelRepository層的AddRepositoryInterface,IAddRepository
- (T53-6)討論EfModelRepository層的DeleteRepositoryInterface,IDeleteRepository
- (T53-7)討論EfModelRepository層的UpdateRepositoryInterface,InterfaceIUpdateRepository
- (T53-8)討論EfModelRepository層的GenericRepository,Repository
- (T53-9)討論EfModelRepository層的AddRepository
- (T53-10)討論EfModelRepository層的OnePkRepository
- (T54)討論EfModelRepository層的GamerRepository、GamerDetailRepository
- (T54-1)討論EfModelRepository層的GamerDetailRepository
- (T54-2)討論EfModelRepository層的GamerRepository
- (T54-3)討論EfModelRepository層的UnitOfWorkInterface,IUnitOfWork
- (T54-4)討論EfModelRepository層的UnitOfWork
- (T55)在UiConsoleApp(使用者介面)用Ef存取資料庫Table。討論EfModelRepository層的OnePkRepository
- (T55-1)在UiConsoleApp(使用者介面)用Ef存取資料庫Table。討論EfModelRepository層的OnePkRepository執行Add(新增資料)
- (T55-2)在UiConsoleApp(使用者介面)用Ef存取資料庫Table。討論EfModelRepository層的OnePkRepository執行AddMultiple(新增多筆資料)
- (T55-3)在UiConsoleApp(使用者介面)用Ef存取資料庫Table。討論EfModelRepository層的OnePkRepository執行Update(更新資料)
- (T56)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。
- (T56-1)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。執行SpSearchGamerAndDetail(搜尋多對多資料)
- (T56-2)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。執行SpInsertGamerAndDetail(新增多對多資料)
- (T56-3)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。執行SpUpdateGamerAndDetail(更新多對多資料)
- (T56-4)在UiConsoleApp(使用者介面)用Ef存取資料庫StoredProcedure。執行SpDeleteGamerAndDetail(刪除多對多資料)
討論Fake、Comparer
- (T57)討論EfModelRepository層的FakeDbContext
- (T58)討論EfModelRepository層的Equal、Compare
- (T58-1)討論EfModelRepository層的GamerDetailComparer
- (T58-2)討論EfModelRepository層的GamerComparer
- (T58-3)討論EfModelRepository層的SpSearchGamerAndDetailReturnModelComparer
用NUnit做UnitTest(單元測試)
- (59)用NUnit測試EfModelRepository層的Equal、Compare
- (T59-1)用NUnit測試EfModelRepository層的GamerDetailComparer
- (T59-2)用NUnit測試EfModelRepository層的GamerComparer
- (T59-3)用NUnit測試EfModelRepository層的SpSearchGamerAndDetailReturnModelComparer
- (T60)用NUnit測試EfModelRepository層的Validator(防呆驗證)
- (T60-1)用NUnit測試EfModelRepository層的GamerDetailValidator
- (T60-2)用NUnit測試EfModelRepository層的GamerValidator
- (T61)NUnit執行UnitTest(單元測試)EfModelRepository層的GamerDetailRepository、GamerRepository
- (T61-1)NUnit單元測試EfModelRepository層的GamerDetailRepository的TestInitialize、CleanUp
- (T61-2)NUnit單元測試EfModelRepository層的GamerDetailRepository的Repository的GetAll(讀取全部資料)和Find(搜尋資料)
- (T61-3)NUnit單元測試EfModelRepository層的GamerDetailRepository的Repository的SingleOrDefault(搜尋並取第一筆資料)
- (T61-4)NUnit單元測試EfModelRepository層的GamerDetailRepository的OnePkRepository的Get(用Id取資料)
- (T61-5)NUnit單元測試EfModelRepository層的GamerDetailRepository的EntityRepository的Get(取得資料和關聯資料)
- (T61-6)NUnit單元測試EfModelRepository層的GamerDetailRepository的EntityRepository的Add(新增資料)和Delete(刪除資料)
- (T61-7)NUnit單元測試EfModelRepository層的GamerDetailRepository的EntityRepository的AddMultiple和DeleteMultiple
- (T61-8)NUnit單元測試EfModelRepository層的GamerDetailRepository的EntityRepository的Update(更新資料)
- (T61-9)複習用NUnit單元測試觀念
- (T61-10)NUnit單元測試EfModelRepository層的GamerRepository的TestInitialize、CleanUp
- (T61-11)NUnit單元測試EfModelRepository層的GamerRepository的Repository的GetAll(讀取全部資料)和Find(搜尋資料)
- (T61-12)NUnit單元測試EfModelRepository層的GamerRepository的Repository的SingleOrDefault(搜尋並取第一筆資料)
- (T61-13)NUnit單元測試EfModelRepository層的GamerRepository的OnePkRepository的Get(用Id取資料)
- (T61-14)NUnit單元測試EfModelRepository層的GamerRepository的EntityRepository的Get(取得資料和關聯資料)
- (T61-15)NUnit單元測試EfModelRepository層的GamerRepository的EntityRepository的Add(新增資料)和Delete(刪除資料)
- (T61-16)NUnit單元測試EfModelRepository層的GamerRepository的EntityRepository的AddMultiple和DeleteMultiple
- (T61-17)NUnit單元測試EfModelRepository層的GamerRepository的EntityRepository的Update(更新資料)
用NUnit做IntegrationTest(整合測試)
- (T62)用NUnit整合測試EfModelRepository層的GamerDetailRepository、GamerRepository
- (T62-1)NUnit整合測試EfModelRepository層的GamerDetailRepository的TestInitialize、CleanUp
- (T62-2)NUnit整合測試EfModelRepository層的GamerDetailRepository的Repository的GetAll、Find、SingleOrDefault
- (T62-3)NUnit整合測試EfModelRepository層的GamerDetailRepository的OnePkRepository的Get(用Id取資料)
- (T62-4)NUnit整合測試EfModelRepository層的GamerDetailRepository的EntityRepository的Get(取得資料和關聯資料)
- (T62-5)NUnit整合測試EfModelRepository層的GamerDetailRepository的Add、AddMultiple、Delete、DeleteMultiple
- (T62-6)NUnit整合測試EfModelRepository層的GamerDetailRepository的EntityRepository的Update(更新資料)
- (T62-7)NUnit整合測試EfModelRepository層的GamerRepository的TestInitialize、CleanUp
- (T62-8)NUnit整合測試EfModelRepository層的GamerRepository的Repository的GetAll、Find、SingleOrDefault
- (T62-9)NUnit整合測試EfModelRepository層的GamerRepository的OnePkRepository的Get(用Id取資料)
- (T62-10)NUnit整合測試EfModelRepository層的GamerRepository的EntityRepository的Get(取得資料和關聯資料)
- (T62-11)NUnit整合測試EfModelRepository層的GamerRepository的Add、AddMultiple、Delete、DeleteMultiple
- (T62-12)NUnit整合測試EfModelRepository層的GamerRepository的EntityRepository的Update(更新資料)
- (T62-13)不建議NUnit的TestOrder
- (T63)用NUnit執行IntegrationTest(整合測試)Ef存取資料庫StoredProcedure
- (T63-1)用NUnit執行IntegrationTest(整合測試)Ef存取資料庫StoredProcedure的TestInitialize、CleanUp
- (T63-2)用NUnit執行IntegrationTest(整合測試)Ef存取資料庫StoredProcedure的SpSearchGamerAndDetailReturnModel
- (T63-3)用NUnit整合測試SpInsertGamerAndDetail, SpUpdateGamerAndDetail, SpDeleteGamerAndDetail
- (T63-4)用NUnit執行IntegrationTest(整合測試)Ef存取資料庫StoredProcedure的SpDeleteGamerAndDetail
用MSTest做UnitTest(單元測試)
- (T64)用MSTest測試EfModelRepository層的Equal、Compare
- (T64-1)用MSTest測試EfModelRepository層的GamerDetailComparer
- (T64-2)用MSTest測試EfModelRepository層的GamerComparer
- (T64-3)用MSTest測試EfModelRepository層的SpSearchGamerAndDetailReturnModelComparer
- (T65)用MSTest測試EfModelRepository層的Validator(防呆驗證)
- (T65-1)用MSTest測試EfModelRepository層的GamerDetailValidator
- (T65-2)用MSTest測試EfModelRepository層的GamerValidator
- (T66)MSTest執行UnitTest(單元測試)EfModelRepository層的GamerDetailRepository、GamerRepository
- (T66-1)MSTest單元測試EfModelRepository層的GamerDetailRepository
- (T66-2)MSTest單元測試EfModelRepository層的GamerRepository
用MSTest做IntegrationTest(整合測試)
- (T67)用MSTest整合測試EfModelRepository層的GamerDetailRepository、GamerRepository
- (T67-1)MSTest整合測試EfModelRepository層的GamerDetailRepository
- (T67-2)MSTest整合測試EfModelRepository層的GamerRepository
- (T68)用MSTest執行IntegrationTest(整合測試)Ef存取資料庫StoredProcedure
討論MockingFramework(隔離框架)-Moq、NSubstitute
- (T69)討論MockingFramework(隔離框架)Moq、NSubstitute
- (T69-1)在EfModelRepository層建立Gamer、GamerDetail的Interface和LuckyReward邏輯
- (T69-2)用MockingFramework(隔離框架)Moq隔離Gamer、GamerDetail,用NUnit單元測試LuckyReward
- (T69-3)用MockingFramework(隔離框架)Moq隔離Gamer、GamerDetail,用MSTest單元測試LuckyReward
- (T69-4)用MockingFramework(隔離框架)NSubstitute隔離Gamer、GamerDetail,用NUnit單元測試LuckyReward
- (T69-5)用MockingFramework(隔離框架)NSubstitute隔離Gamer、GamerDetail,用MSTest單元測試LuckyReward
- (T69-6)結論MockingFramework(隔離框架)Moq、NSubstitute