Lessons: Testing

The first step to writing fault tolerant and scalable code is writing bug free code. In these lessons we explore how best to test our Elixir code.

測試 (Testing) 是開發軟體的一個重要部分。 在本課程中,將介紹如何使用 ExUnit 測試 Elixir 程式碼,以及一些很棒的測試方法。

在測試應用程式時,通常需要向外部服務發出請求。 甚至可能想要模擬不同的情況,例如意外的伺服器錯誤。 在沒有任何幫助下,要在 Elixir 中以效率高的方式進行處理並不容易。

在本課程中,將探討 bypass 如何幫助我們快速輕鬆地處理測試中的這些請求。

基於案例(example-based)的單元測試函式庫,例如 ExUnit,是個極佳的工具來協助驗證程式碼是否以如你預期的方式工作。 但是,基於案例的單元測試有一些缺點:

  • 由於並非測試所有輸入情境,因此容易遺漏邊界案例。
  • 可以編寫這些測試案例而無需仔細考慮需求。
  • 想以多個案例測試單一函數時,這些測試可能會非常冗長。

在本課程中,將探討 StreamData 如何幫助我們克服上述一些缺點。