緣起:
不久前在看敏捷開發的書,他裡面有個範例是在講保齡球的計分,除了主程式之外,還有用到
unit test。我不想單純讀程式碼,想要跟著動手操作,這樣印像才會比較深。
趁這個機會學習怎麼在 dotnet 建立 library 與 test
的專案,還有 unit test 的基本程式。
建立解決方案與 library 專案:
官方教學文件。我在我 Desktop 下指令,建立 UnitTest 的解決方案
就會産生一個 UnitTest 的資料㚒,裡面有個 UnitTest.sln
檔,檔案内容長這樣
接著下指令來建立 library 專案
然後把專案加入解決方案
在 MyLibrary 新增 Game.cs
建立 mstest 專案並引用 MyLibrary:
下指令
然後一樣把 MyTest 加入解決方案
最後讓 MyTest 專案參考 MyLibrary 專案
看一下 MyTest 專案,它預設有個 GlobalUsing.cs 跟
UnitTest1.cs,GlobalUsing 引用 Microsoft.VisualStudio.TestTools.UnitTesting。修改 UnitTest1.cs
只要方法有加上 TestMethod 的 Attribute,在跑 dotnet test
時,這些方法都會自動執行,然後用
Assert
類別的方法來確認結果是否符合預期。
dotnet test 的結果
如果覺得每次新增一個測試的方法都要 new 一個 Game 物件很麻煩的話,可以把 game 改成 member,然後新增一個方法,給它 TestInitialize 的 Attribute,把 new Game 寫在裡面
這樣在每個測試的方法執行前,game 都會是一個新的 Game
物件。
沒有留言:
張貼留言