學習如何在 Exercism 上測試你的 C 練習
每個練習都會附上單元測試和一份 Make 建置規則, 而實作則由你來提供。
每個測試檔都必須與你的實作連結,產生一個可在主控台執行的執行檔來執行測試。 執行測試執行檔時,每個失敗的測試都會印出訊息,並在測試失敗時回報非零的結束狀態。
要完成一個練習:
TEST_IGNORE() 這一行。每個練習都會附帶一個 makefile,以及內含單元測試的 .c 檔。
你應該不需要編輯 Make 檔。
提供的 Make 檔會假設你的實作是以與練習同名的標頭檔(.h)和原始檔(.c)存在。
例如,練習 bob 會預期實作出現在 bob.h 和 bob.c 中。
若練習名稱含有連字號,原始檔會假設使用底線,因此 word-count 會預期 word_count.h 和 word_count.c。
你可能會覺得自己的實作夠簡單,可以完全放在標頭檔裡,這樣就能省略 .c 檔。
在執行 Make 之前,先建立你的初始實作檔案。
如果你在為練習 bob 執行 Make 時沒有 bob.h 和 bob.c 這兩個檔案,Make 就會產生找不到檔案的錯誤。
這些檔案可以是空的,但必須存在。
建置程式碼最簡單的方式,就是在命令列使用 make(CLI)。
在 Linux 上,CLI 可在 bash 或類似環境中使用,在 MacOS 上請使用 Terminal。
在 Windows 10 上,則可使用 Windows Subsystem for Linux(WSL)的 Bash。
做法如下,假設目前所在目錄就是練習資料夾:
$ make
這會編譯你的程式碼並執行測試。
makefile 也附帶一個建置目標,用來檢查一些常見錯誤,例如記憶體洩漏和陣列越界存取。
若要執行這些檢查,請在命令列輸入以下指令:
$ make memcheck
建置完成後若要清理,可以請 make 刪除所有建置產物,包括執行檔:
$ make clean
在 MacOS 上,你也可以使用 Xcode。 若要建置程式碼,請從工具列選擇 Build。