# 測試框架

## 單元測試框架

C# : NUnit\
Java : JUnit

為什麼要用測試框架?

測試框架幫我們解決原先的哪些問題?

1. 非結構化的測試\
   如果每次測試新功能，都必須重寫程式。\
   一個測試可能類似主控台、一個測試使用UI來驗證、一個又用Web網頁表單，你沒有多餘的時間花在這些測試的設計上。
2. 無法重複執行\
   如果不是所有團隊成員都可以簡單有效的運行之前所寫的測試，就違反**可重複**的要求。這會導致你無法透過回歸測試來找到被新的程式影響的bug。
3. 測試沒有覆蓋到程式中所有重要的部分\
   重要的部分是指所有包含邏輯的程式碼，因為這些程式每一個都可能潛藏著潛在的問題。如果撰寫測試變得容易，你就會願意撰寫更多的測試程式，提高測試覆蓋率。

測試框架就是一種用來提供 易於撰寫、執行、確認單元測試程式及其結果的工具。

PS : 使用單元測試框架並不保證能使你的測試可讀、可維護、可靠，也不保證這些測試可以測到全部的邏輯。
