了解如何在 Exercism 上測試你的 Pharo 練習
從最根本的層面來說,Exercism 的核心就是測試與測試方法,因為測試會推動你的實作往前進,並在練習完成時告訴你。
Pharo 對測試的支援很棒,還支援漸進式測試!只要點一下測試案例類別或方法旁邊的圓點,就能執行練習中的任何測試。

測試圓點會依照上一次測試執行的結果顯示不同顏色:
Exercism 練習中的測試都刻意加上了編號,以定義明確的執行順序(例如 test01_verifySomeProperty、test02_verifyAnotherProperty 等等)。
進行練習時,建議你先點一下第一個測試的圓點,了解失敗的原因以及要讓它通過需要什麼,然後把程式碼加入你的解法,讓它順利運作。在 Pharo 裡,直接在除錯器中做這些修改是很平常的事,因為除錯器裡同時有程式碼編輯器,以及所有變數和參數的檢視畫面,可以幫助你理解問題。
注意:在測試前加上順序前綴並不是慣例,你自己專案的測試也不應該這麼做。
Pharo 就算程式碼有問題也能照常執行,遇到錯誤時(不論是語法錯誤、值不對,甚至是少了某個類別或方法),除錯器就會重新開啟。這個做法是測試驅動開發的主要靈感來源,你在執行任何練習的第一個測試時,就能體驗到這種做法。除錯器會立刻顯示找不到你的解法類別(因為你還沒寫任何東西)。方便的是,除錯器裡有個「Create」按鈕,可以幫你新增缺少的類別,然後繼續執行,直到執行完成或又遇到另一個錯誤。

執行第一個測試時,接著會遇到第二個錯誤,因為你還沒寫任何方法。同樣地,除錯器裡的「Create」按鈕可以讓你定義一個方法,然後繼續執行。這時候,你也可以在堆疊追蹤中往下點,查看失敗測試的要求,並修改剛新增的方法讓它通過。
開發到後期,你也許會發現,在堆疊中往回點,並使用「Restart」按鈕從較早的位置繼續執行程式,會很有幫助,這樣你就能逐步執行程式,看看發生了什麼事。這是了解程式為什麼跑不動的一個重要又實用的方法。
除了在除錯器中查看變數,你也可以選取任何敘述,然後點 inspect/print,看看它求值後的結果。這在測試方法的結果,或檢視物件的內部狀態時都很有用。

別忘了,你也可以在除錯器中修改執行中的程式碼,儲存變更後,執行就會直接從剛儲存的方法重新開始。這讓你可以在當下就試著修改,並立即看到結果。
總結來說,在 Pharo 中不要怕使用除錯器,我們把它視為理解問題、實驗各種做法時的好用工具。
如果你需要執行更大群的測試,也可以從 Package 選單執行,或使用 Test Runner 工具(可從 World 選單開啟,或按 <meta> + OU)。
你也可以在 Playground 中以程式化的方式執行測試,方法是對下列程式執行 print it:
AllExercismTests suite run.
如果你想更深入了解測試的內部運作,可以閱讀 SUnit 的資料,或瀏覽 TestCase 階層裡的程式碼。