課程時間

🔧【Tools工具安裝】5:07:24

🎬【Preview導讀】2:49:20

🎬【TestEpisode1(第1篇)-TestFramework(測試框架)-MSTest、NUnit】25:15:44

課程章節

請按「Preview」預覽章節。

  關於本課程
Available in days
days after you enroll
  討論Arrange、Act、Assert(AAA)觀念
Available in days
days after you enroll
  討論Trait(特徵)
Available in days
days after you enroll
  討論CodeCoverage、測試Exception。不建議測試PrivateMethod。不建議執行OrderTests、GenericTest。使用command line跑MSTest
Available in days
days after you enroll
  討論TestContext.WriteLine、System.Diagnostics.Debug.WriteLine
Available in days
days after you enroll
  MSTest和NUnit測試SqlServerDatabase、Csv、Xml
Available in days
days after you enroll
  討論MSTest、NUnit的TestExecutionLifeCycle、TimeOutAttribute、IgnoreAttribute、OrderTest
Available in days
days after you enroll
  用CommandLine跑MSTest、NUnit
Available in days
days after you enroll
  討論Assert
Available in days
days after you enroll
  討論TestDrivenDevelopment(TDD)
Available in days
days after you enroll
  課程評價
Available in days
days after you enroll
請選付款方案

🔴如果您在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. 我是一名移民到澳大利亞的軟體工程師,個人專注於各種技術和使用者界面的開發與研究。

TestEpisode1(第1篇)-TestFramework(測試框架)-MSTest、NUnit】是一門銜接一門的「.Net Framework學程」中其中一個課程。

此篇會深入兩個TestFramework(測試框架),MSTest、NUnit。一開始(T1)用MSTest、NUnit討論Arrange、Act、Assert(AAA)觀念。接著(T5)討論MSTest、NUnit的TestContext.WriteLine、System.Diagnostics.Debug.WriteLine。然後討論(T6ToT11)MSTest和NUnit測試SqlServerDatabase、Csv、Xml。(T17ToT29)深入討論MSTest、NUnit的Assert。淺嘗則止地討論TestDrivenDevelopment(TDD),(T30)TDD的Red、Green、Refactor,(T31)TDD的Facking、Red、Green、TriangulationRefactor、ObviousImplementation。

Course Highlight(本課魔王)

😈第一魔王,(T1)用MSTest、NUnit討論Arrange、Act、Assert(AAA)觀念

😈第二魔王,(T5)討論MSTest、NUnit的TestContext.WriteLine、System.Diagnostics.Debug.WriteLine

😈第三魔王,(T6ToT11)MSTest和NUnit測試SqlServerDatabase、Csv、Xml

😈第四魔王,(T12ToT15)討論MSTest、NUnit的TestExecutionLifeCycle、TimeOutAttribute、IgnoreAttribute、OrderTest

😈第五魔王,(T16)用CommandLine跑MSTest、NUnit

😈第六魔王,(T17ToT29)討論MSTest、NUnit的Assert

😈第七魔王,(T30)TestDrivenDevelopment(TDD)的Red、Green、Refactor。(T31)討論TDD的Facking、Red、Green、TriangulationRefactor、ObviousImplementation

想朝軟體工程師之路前進嗎?受夠了像是文字天書,艱深難懂的工具文件嗎?對自己的底子沒信心嗎?若你想扎實打底,本課程將讓你收穫滿滿!歡迎加入「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)

討論Arrange、Act、Assert(AAA)觀念

  • (T1)NUnit的基本觀念
  • (T1-1)安裝NUnitTestAdapter。介紹Arrange、Act、Assert(AAA)觀念
  • (T1-2)寫Mathematics範例程式碼
  • (T1-3)用NUnit討論Arrange、Act、Assert(AAA)觀念
  • (T1-4)用MSTest討論Arrange、Act、Assert(AAA)觀念
  • (T2)討論UnitTestBoilerplateGenerator產生MSTest、NUnit。討論DebugUnitTest。在UnitTest這定BreakPoint
  • (T2-1)討論UnitTestBoilerplateGenerator產生MSTest
  • (T2-2)討論DebugUnitTest。在UnitTest這定BreakPoint
  • (T2-3)討論UnitTestBoilerplateGenerator產生NUnit

討論Trait(特徵)

  • (T3)關於Grouping、Filtering
  • (T3-1)MSTest的Grouping、Filtering
  • (T3-2)NUnit的Grouping、Filtering

討論CodeCoverage、測試Exception。不建議測試PrivateMethod。不建議執行OrderTests、GenericTest。使用command line跑MSTest

  • (T4)討論CodeCoverage、測試Exception。不建議測試PrivateMethod。不建議執行OrderTests、GenericTest。使用command line跑MSTest
  • (T4-1)寫準備要測試的MathematicsClass
  • (T4-2)用MSTest測試MathematicsClass
  • (T4-3)討論CodeCoverage
  • (T4-4)用MSTest測試Exception
  • (T4-5)不建議用MSTest測試PrivateMethod
  • (T4-6)不建議用MSTest執行OrderTests
  • (T4-7)不建議用MSTest執行GenericTest
  • (T4-8)使用commandLine執行MSTest

討論TestContext.WriteLine、System.Diagnostics.Debug.WriteLine

  • (T5)MSTest和NUnit的TestContext.WriteLine、System.Diagnostics.Debug.WriteLine
  • (T5-1)在VS2013Pro使用MSTest的TestContext.WriteLine、System.Diagnostics.Debug.WriteLine
  • (T5-2)在VS2017Community使用MSTest的TestContext.WriteLine、System.Diagnostics.Debug.WriteLine
  • (T5-3)在VS2017Community使用NUnit的TestContext.WriteLine、System.Diagnostics.Debug.WriteLine

MSTest和NUnit測試SqlServerDatabase、Csv、Xml

  • (T6)討論YieldReturn的Filter、Total
  • (T6-1)討論YieldReturn的Filter
  • (T6-2)討論YieldReturn的Total
  • (T7)C#讀取CSV
  • (T7-1)前置準備
  • (T7-2)用File.ReadLines讀取CSV
  • (T7-3)用File.ReadLines讀取CSV,討論exception處理方式
  • (T7-4)用File.ReadLines、YieldReturn讀取CSV
  • (T7-5)用File.ReadLines、YieldReturn讀取CSV,討論exception處理方式
  • (T7-6)用LumenWorksCsvReader讀取CSV
  • (T7-7)用LumenWorksCsvReader讀取CSV,討論exception處理方式
  • (T7-8)用LumenWorksCsvReader、YieldReturn讀取CSV
  • (T7-9)用LumenWorksCsvReader、YieldReturn讀取CSV,討論exception處理方式
  • (T7-10)用Linq讀取CSV
  • (T7-11)用Linq讀取CSV,討論exception處理方式
  • (T7-12)用Linq、YieldReturn讀取CSV
  • (T7-13)用Linq、YieldReturn讀取CSV,討論exception處理方式
  • (T8)C#讀取Xml
  • (T8-1)前置準備
  • (T8-2)用Linq讀取Xml。討論Where、OrderBy、Let
  • (T8-3)用Linq讀取Xml
  • (T8-4)用Linq讀取Xml,討論exception處理方式
  • (T8-5)用Linq、YieldReturn讀取Xml
  • (T8-6)用Linq、YieldReturn讀取Xml,討論exception處理方式
  • (T9)使用EfCodeFirst(. NetFramework)讀取Sql
  • (T10)用MSTest的DataSourceAttibute測試Xml、Csv、SqlServer的Data
  • (T10-1)建立Database
  • (T10-2)在VS2017Community、VS2013Pro建立MSTestProject
  • (T10-3)準備好XML和CSV
  • (T10-4)Part1,用MSTest設定App.config測試SQLServer、XML、CSV裡面的Data
  • (T10-5)Part2,用MSTest設定App.config測試SQLServer、XML、CSV裡面的Data
  • (T11)關於NUnit的TestCaseSourceAttibute和MSTest的DataSourceAttibute,測試xml、CSV、sqlServer的Data
  • (T11-1)建立Database
  • (T11-2)建立Xml、Csv
  • (T11-3)用MSTest的DataSourceAttibute測試Xml、Csv、SqlServer的Data
  • (T11-4)用EfCodeFirst(. NetFramework)讀取SqlServer的Data
  • (T11-5)用NUnit的前置準備
  • (T11-6)討論TestCase
  • (T11-7)討論TestCaseSource測試GlobalVariable
  • (T11-8)討論TestCaseSource測試有參數的Method
  • (T11-9)討論TestCaseSource測試其他Class的Method
  • (T11-10)討論TestCaseSource測試有實作IEnumerable的Class
  • (T11-11)討論TestCaseSource測試其他Class
  • (T11-12)討論TestCaseSource測試有和沒有Yield Return的其他Class的Method
  • (T11-13)討論NUnit的TestCaseSourceAttribute去抓IEnumerableT的Data
  • (T11-14)用NUnit的TestCaseSourceAttribute測試Csv的Data
  • (T11-15)用NUnit的TestCaseSourceAttribute、YieldReturn測試Csv的Data
  • (T11-16)用NUnit的TestCaseSourceAttribute測試Xml的Data
  • (T11-17)用NUnit的TestCaseSourceAttribute、EfCodeFirst(. NetFramework)測試SqlServerDatabase的Data

討論MSTest、NUnit的TestExecutionLifeCycle、TimeOutAttribute、IgnoreAttribute、OrderTest

  • (T12)MSTest的TestInitialize、TestCleanup、ClassInitialize、ClassCleanup、AssemblyInitialize、AssemblyCleanup
  • (T12-1)TestInitialize、TestCleanup、ClassInitialize、ClassCleanup、AssemblyInitialize、AssemblyCleanup
  • (T12-2)在MSTest的TestInitialize、ClassInitialize中的變數存活
  • (T13)MSTest、NUnit的TestExecutionLifeCycle、Output
  • (T13-1)前置準備
  • (T13-2)MSTest的TestClass的TestInitialize、TestCleanup的Output用法和限制
  • (T13-3)MSTest的TestClass的ClassInitialize、ClassCleanup的Output用法和限制
  • (T13-4)MSTest的TestClass的AssemblyInitialize、AssemblyCleanup的Output用法和限制
  • (T13-5)NUnit的TestFixture的SetUp、TearDown的Output用法和限制
  • (T13-6)NUnit的TestFixture的OneTimeSetUp、OneTimeTearDown的Output用法和限制
  • (T13-7)NUnit的SetUpFixture的OneTimeSetUp、OneTimeTearDown的Output用法和限制
  • (T13-8)Summary總結
  • (T13-9)Console.Writeline、output的補充
  • (T14)MSTest、NUnit的TimeOutAttribute、IgnoreAttribute
  • (T14-1)MSTest的TimeOutAttribute、IgnoreAttribute
  • (T14-2)NUnit的TimeOutAttribute、IgnoreAttribute
  • (T15)不建議用MSTest、NUnit的OrderTest
  • (T15-1)前置作業
  • (T15-2)用NUnit的OrderAttribute來OrderTest
  • (T15-3)不建議用MSTest執行OrderTests
  • (T15-4)Summary。不建議用MSTest、NUnit的OrderTest

用CommandLine跑MSTest、NUnit

  • (T16)用CommandLine跑MSTest、NUnit
  • (T16-1)前置作業
  • (T16-2)複習MSTest的Traits(特徵)
  • (T16-3)用CommandLine跑MSTest
  • (T16-4)複習NUnit的Traits(特徵)
  • (T16-5)用CommandLine跑NUnit

討論Assert

  • (T17)T17toT29-討論Equals、GetHashCode。討論IComparer、Compare
  • (T17-1)T17toT29-討論Equals、GetHashCode
  • (T17-2)T17toT29-討論IComparer、Compare
  • (T17-3)T17toT29-建立MathematicsClass
  • (T18)T17toT29-討論MSTest、NUnit的StringAssert的StartsWith、EndsWith、Contains、Matches、DoesNotMatch
  • (T18-1)T17toT29-討論MSTest的StringAssert的StartsWith、EndsWith、Contains、Matches、DoesNotMatch
  • (T18-2)T17toT29-討論NUnit的StringAssert的StartsWith、EndsWith、Contains、Matches、DoesNotMatch
  • (T19)T17toT29-MSTest、NUnit的Assert.Fail、Assert.Inconclusive。NUnit的Assert.Warn
  • (T19-1)T17toT29-MSTest的Assert.Fail、Assert.Inconclusive
  • (T19-2)T17toT29-NUnit的Assert.Fail、Assert.Inconclusive、Assert.Warn
  • (T20)T17toT29-NUnit、MSTest的Assert的IsTrue、IsFalse、IsNull、IsNotNull。MSTest的IsInstanceOfType、IsNotInstanceOfType。NUnit的IsInstanceOf、IsNotInstanceOf
  • (T20-1)T17toT29-MSTest的Assert的IsTrue、IsFalse、IsNull、IsNotNull、IsInstanceOfType、IsNotInstanceOfType
  • (T20-2)T17toT29-NUnit的Assert的IsTrue、IsFalse、IsNull、IsNotNull、IsInstanceOf、IsNotInstanceOf
  • (T21)T17toT29-討論Assert一個ValueType、ComplexType物件。MSTest、NUnit的AreEqual、AreSame、AreNotEqual、AreNotSame
  • (T21-1)T17toT29-討論Assert一個ValueType物件。MSTest的AreEqual、AreSame、AreNotEqual、AreNotSame
  • (T21-2)T17toT29-討論Assert一個ComplexType物件。MSTest的AreEqual、AreSame、AreNotEqual、AreNotSame
  • (T21-3)T17toT29-討論Assert一個ValueType物件。NUnit的AreEqual、AreSame、AreNotEqual、AreNotSame
  • (T21-4)T17toT29-討論Assert一個ComplexType物件。NUnit的AreEqual、AreSame、AreNotEqual、AreNotSame
  • (T22)T17toT29-測試簡單型別Collection,MSTest的AreEqual。測試泛型Collection,MSTest的AreEqual、AreEquivalent、Contains、IsSubsetOf、AllItemsAre((Not)Unique、InstancesOfType)
  • (T22-1)T17toT29-測試簡單型別Collection,MSTest的AreEqual
  • (T22-2)T17toT29-測試泛型Collection,MSTest的Contains、IsSubsetOf、AllItemsAre((Not)Unique、InstancesOfType)
  • (T22-3)T17toT29-測試簡單型別Collection,NUnit的AreEqual
  • (T22-4)T17toT29-測試泛型Collection,NUnit的Contains、IsSubsetOf、AllItemsAre((Not)Unique、InstancesOfType)
  • (T23)T17toT29-MSTest的Assert.That。NUnit的Assert.That搭配All、Not、Does、Has、Or、And
  • (T23-1)T17toT29-MSTest的Assert.That
  • (T23-2)T17toT29-NUnit的Assert.That搭配All
  • (T23-3)T17toT29-NUnit的Assert.That搭配Not
  • (T23-4)T17toT29-NUnit的Assert.That搭配Does
  • (T23-5)T17toT29-NUnit的Assert.That搭配Has
  • (T23-6)T17toT29-NUnit的Assert.That搭配Or、And
  • (T24)T17toT29-NUnit的Assert.That測試ValueType包括String、Numerical、Null、Bool、Range
  • (T24-1)T17toT29-NUnit的Assert.That測試String
  • (T24-2)T17toT29-NUnit的Assert.That測試Numerical
  • (T24-3)T17toT29-NUnit的Assert.That測試Null
  • (T24-4)T17toT29-NUnit的Assert.That測試Bool
  • (T24-5)T17toT29-NUnit的Assert.That測試Range
  • (T25)T17toT29-NUnit的Assert.That測試一個ComplexType
  • (T26)T17toT29-NUnit的Assert.That測試Collection包括StringArray、StringCollection、IntCollection、ComplexObjectsCollection、IComparer、ComplexObjectsCollection
  • (T26-1)T17toT29-NUnit的Assert.That測試StringArray
  • (T26-2)T17toT29-NUnit的Assert.That測試StringCollection
  • (T26-3)T17toT29-NUnit的Assert.That測試IntCollection
  • (T26-4)T17toT29-NUnit的Assert.That測試ComplexObjectsCollection、IComparer
  • (T26-5)T17toT29-NUnit的Assert.That測試ComplexObjectsCollection
  • (T27)T17toT29-NUnit的Assert.Multiple
  • (T28)T17toT29-測試Exception。MSTest的ExpectedExceptionAttribute。NUnit的Assert.Throws
  • (T28-1)T17toT29-MSTest的ExpectedExceptionAttribute
  • (T28-2)T17toT29-NUnit的Assert.Throws
  • (T29)T17toT29-討論ParameterizedTests(有參數的測試)。NUnit的TestCaseMSTest只能用大量的TestMethod
  • (T29-1)T17toT29-討論ParameterizedTests(有參數的測試)。NUnit的TestCase
  • (T29-2)T17toT29-討論ParameterizedTests(有參數的測試)。MSTest只能用大量的TestMethod

討論TestDrivenDevelopment(TDD)

  • (T30)T30toT31-討論TestDrivenDevelopment(TDD)。Red、Green、Refactor
  • (T31)T30toT31-討論TDD。Facking、Red、Green、TriangulationRefactor、ObviousImplementation