Autoplay
Autocomplete
Previous Lesson
Complete and Continue
2-6B-2-TestEpisode2(第2篇)-MockingFramework(隔離框架)-NSubstitute、Moq
關於本課程
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)
討論TestDouble(模擬物件)的Dummy、Stub、Spy、Mock、Fake。非必要的CodeCoverage(程式碼覆蓋率)、TestDouble(模擬物件)範例
(T32-1)討論TestDouble(模擬物件) (20:15)
(T32-2)討論可做UnitTest(單元測試)的程式碼 (28:48)
(T32-3)討論Dummy (7:04)
(T32-4)討論Stub (15:02)
(T32-5)討論Spy (10:25)
(T32-6)討論Mock (14:44)
(T32-7)討論Fake (15:03)
(T32-8)討論不可做UnitTest(單元測試)的程式碼 (4:13)
(T32-9)討論MockingFramework(隔離框架)NSubstitute產生Fake (12:25)
(T32-10)討論MockingFramework(隔離框架)NSubstitute產生Dummy (33:45)
(T32-11)討論MockingFramework(隔離框架)Moq產生Fake、Dummy (22:37)
(T32-12)討論CodeCoverage(程式碼覆蓋率) (4:28)
(T33-1)前置準備,非必要的CodeCoverage(程式碼覆蓋率)範例 (14:47)
(T33-2)非必要的CodeCoverage(程式碼覆蓋率)範例 (15:29)
(T33-3)前置準備,非必要的TestDouble(模擬物件)範例 (5:09)
(T33-4)非必要的TestDouble(模擬物件)範例,用Moq實作非必要的Property、voidMethod (24:36)
(T33-5)非必要的TestDouble(模擬物件)範例,用NSubstitute實作非必要的Property (20:35)
討論MockingFramework(隔離框架)-Moq、NSubstitute
(T34-1)T34toT41-討論MockingFramework(隔離框架)NSubstitute、Moq的前置準備,寫Interface (27:35)
(T34-2)T34toT41-討論MockingFramework(隔離框架)NSubstitute、Moq的前置準備,寫Class (23:20)
(T35-1)T34toT41-用Moq、NSubstitute來Mock(仿製)假Method (19:26)
(T35-2)T34toT41-ArgumentMatchingMethod。用Moq來Mock(仿製)假Method,參數在某範圍內都回傳True (22:20)
(T35-3)T34toT41-ArgumentMatchingMethod。用NSubstitute來Mock(仿製)假Method,參數在某範圍內都回傳True (20:33)
(T35-4)T34toT41-OutParameterMethod。用Moq來Mock(仿製)假Method,當參數為某值,Out參數則為某值,就回傳True (7:18)
(T35-5)T34toT41-OutParameterMethod。用NSubstitute來Mock(仿製)假Method,當參數為某值,Out參數則為某值,就回傳True (7:46)
(T35-6)T34toT41-RefParameterMethod。用Moq來Mock(仿製)假Method,當Ref參數為某值,就回傳True (10:07)
(T35-7)T34toT41-RefParameterMethod。用NSubstitute來Mock(仿製)假Method,當Ref參數為某值,就回傳True (4:19)
(T35-8)T34toT41-AnyValueArgumentMethod。用Moq來Mock(仿製)假Method,當參數為某String,就轉成小寫並回傳 (3:32)
(T35-9)T34toT41-AnyValueArgumentrMethod。用NSubstitute來Mock(仿製)假Method,當參數為某String,就轉成小寫並回傳 (4:32)
(T35-10)T34toT41-CallbackMethod。用Moq來Mock(仿製)假Method,測試此Method被呼叫幾次 (3:15)
(T35-11)T34toT41-CallbackMethod。用NSubstitute來Mock(仿製)假Method,測試此Method被呼叫幾次 (17:33)
(T35-12)T34toT41-ThrowExceptionMethod。用Moq來Mock(仿製)假Method會產生某Exception (8:37)
(T35-13)T34toT41-ThrowExceptionMethod。用NSubstitute來Mock(仿製)假Method會產生某Exception (7:09)
(T36-1)T34toT41-用Moq來Mock(仿製)假Property、假VoidMethod (21:01)
(T36-2)T34toT41-用NSubstitute來Mock(仿製)假Property、假VoidMethod (8:47)
(T36-3)T34toT41-用Moq來Mock(仿製)假Property的Property (4:26)
(T36-4)T34toT41-用NSubstitute來Mock(仿製)假Property的Property (10:08)
(T37-1)T34toT41-討論Moq的Verify。測試特定參數的Method已經被Mock(仿製)並且被呼叫了特定次數,則回傳True (17:10)
(T37-2)T34toT41-討論NSubstitute的Verify。測試特定參數的Method已經被Mock(仿製)並且被呼叫了特定次數,則回傳True (18:25)
(T37-3)T34toT41-討論Moq的Verify、Helper。測試有特定參數的Constructor的Class已經被Mock(仿製)並且被呼叫了特定次數,則回傳True (11:10)
(T37-4)T34toT41-討論NSubstitute的Verify、Helper。測試有特定參數的Constructor的Class已經被Mock(仿製)並且被呼叫了特定次數,則回傳True (9:13)
(T38-1)T34toT41-CallbackMethod。用Moq來Mock(仿製)假Method,測試此Method被呼叫幾次 (17:00)
(T38-2)T34toT41-CallbackMethod。用NSubstitute來Mock(仿製)假Method,測試此Method被呼叫幾 (8:33)
(T39-1)T34toT41-測試Event(在Moq專案) (21:02)
(T39-2)T34toT41-測試Event(在NSubstitute專案) (3:47)
(T39-3)T34toT41-用Moq來Mock(仿製)假Event (14:54)
(T39-4)T34toT41-用NSubstitute來Mock(仿製)假Event (27:06)
(T40-1)T34toT41-Moq的MockBehavior的Loose、Strict和RecursiveMocking。Mock(仿製)物件、Property的Property (22:14)
(T40-2)T34toT41-Moq的MockRepository的Loose、Strict。Mock(仿製)物件 (15:04)
(T40-3)T34toT41-Moq的MockRepository的Loose、Strict、RecursiveMocking。Mock(仿製)Property的Property (9:49)
(T41-1)T34toT41-不建議用Moq來Mock(仿製)BaseClass的ProtectedMember (16:37)
(T41-2)T34toT41-不建議用Moq來Mock(仿製)BaseClass的ProtectedAbstractMember (6:00)
(T41-3)T34toT41-不建議用Moq來Mock(仿製)SubClass的ProtectedMember (5:56)
(T41-4)T34toT41-用Moq來Mock(仿製)BaseClass的PublicMember (10:30)
討論IEquatable。IComparable、IComparable。IComparer、IComparer。IEqualityComparer
(T42)T42toT47-前置準備 (9:13)
(T43-1)T42toT47-推薦-普通Dependency,GamerA有GamerPowerA。GamerPowerA實作IEquatableT (32:29)
(T43-2)T42toT47-推薦-普通Dependency,GamerA有GamerPowerA。GamerA實作IEquatableT (17:54)
(T43-3)T42toT47-推薦-測試普通Dependency,GamerA有GamerPowerA,都實作IEquatableT (6:55)
(T43-4)T42toT47-推薦-互相Dependency,GamerB有GamerPowerB,反之亦然。GamerPowerB實作IEquatableT (10:38)
(T43-5)T42toT47-推薦-互相Dependency,GamerB有GamerPowerB,反之亦然。GamerB實作IEquatableT (15:16)
(T43-6)T42toT47-推薦-測試互相Dependency,GamerB有GamerPowerB,反之亦然,都實作IEquatableT (4:04)
(T43-7)T42toT47-推薦-Summary總結,IEquatableT (2:42)
(T44-1)T42toT47-推薦-普通Dependency,GamerC有GamerPowerC。GamerPowerC實作IEqualityComparerT (19:16)
(T44-2)T42toT47-推薦-普通Dependency,GamerC有GamerPowerC。GamerC實作IEqualityComparerT (10:22)
(T44-3)T42toT47-推薦-測試普通Dependency,GamerC有GamerPowerC,都實作IEqualityComparerT (8:45)
(T44-4)T42toT47-推薦-互相Dependency,GamerD有GamerPowerD,反之亦然。GamerPowerD實作IEqualityComparerT (15:06)
(T44-5)T42toT47-推薦-互相Dependency,GamerD有GamerPowerD,反之亦然。GamerD實作IEqualityComparerT (19:01)
(T44-6)T42toT47-推薦-測試互相Dependency,GamerD有GamerPowerD,反之亦然,都實作IEqualityComparerT (8:04)
(T44-7)T42toT47-推薦-Summary總結,IEqualityComparerT (2:09)
(T45-1)T42toT47-普通Dependency,GamerE有GamerPowerE。GamerPowerE實作IComparableT、IComparable (27:49)
(T45-2)T42toT47-普通Dependency,GamerE有GamerPowerE。GamerE實作IComparableT、IComparable (17:38)
(T45-3)T42toT47-測試普通Dependency,GamerE有GamerPowerE,都實作IComparableT、IComparable (12:01)
(T45-4)T42toT47-互相Dependency,GamerF有GamerPowerF,反之亦然。GamerPowerF實作IComparableT、IComparable (20:34)
(T45-5)T42toT47-互相Dependency,GamerF有GamerPowerF,反之亦然。GamerF實作IComparableT、IComparable (25:04)
(T45-6)T42toT47-測試互相Dependency,GamerF有GamerPowerF,反之亦然,都實作IComparableT、IComparable (5:13)
(T45-7)T42toT47-Summary總結,IComparableT、IComparable (2:47)
(T46-1)T42toT47-推薦-普通Dependency,GamerG有GamerPowerG。GamerPowerG實作IComparerT (22:10)
(T46-2)T42toT47-推薦-普通Dependency,GamerG有GamerPowerG。GamerPowerG實作IComparer (11:48)
(T46-3)T42toT47-推薦-普通Dependency,GamerG有GamerPowerG。GamerPowerG實作IEqualityComparerT (15:01)
(T46-4)T42toT47-推薦-普通Dependency,GamerG有GamerPowerG。GamerG實作IComparerT (7:38)
(T46-5)T42toT47-推薦-普通Dependency,GamerG有GamerPowerG。GamerG實作IComparer (12:18)
(T46-6)T42toT47-推薦-普通Dependency,GamerG有GamerPowerG。GamerG實作IEqualityComparerT (12:33)
(T46-7)T42toT47-推薦-測試普通Dependency,GamerG有GamerPowerG,都實作IComparer、IComparerT、IEqualityComparerT (20:07)
(T47-1)T42toT47-推薦-互相Dependency,GamerPowerH實作IComparer、IComparerT、IEqualityComparerT (24:02)
(T47-2)T42toT47-推薦-互相Dependency,GamerH實作IComparer、IComparerT、IEqualityComparerT (16:28)
(T47-3)T42toT47-推薦-測試互相Dependency,GamerH有GamerPowerH,反之亦然,都實作IComparer、IComparerT、IEqualityComparerT (5:03)
(T47-4)T42toT47-推薦-Summary總結,IComparer、IComparerT、IEqualityComparerT (10:28)
課程評價
課程評價
(P1)關於測試
Complete and Continue