Rust 軌道上的測試

學習如何在 Exercism 上測試你的 Rust 練習


請在src/lib.rs中撰寫你的程式碼。 每個練習都會附帶一個src/lib.rs的範本檔案,裡面會顯示你需要撰寫的程式碼的函式簽章。

對大多數練習來說,最好把所有程式碼都寫在src/lib.rs這個檔案裡。 如果你想將解法拆分成多個檔案,可以參考 Rust 書籍中關於模組的章節。

執行測試

要執行測試,你只需要執行以下指令:

$ cargo test

預設情況下,只會啟用第一個測試。 當你準備好要通過下一個測試時,請從下一個測試中移除 ignore 標記(#[ignore])。 如果你比較喜歡,也可以一次移除所有測試的標記。

為了讓測試通過,儘管寫出最少量的程式碼就好。 測試失敗的結果會引導你接下來該寫什麼。

由於 Rust 會在編譯時檢查所有程式碼,你可能會發現,在寫出必要的程式碼之前,測試根本無法編譯。 即使是標記為ignore的測試,也會在編譯時受到檢查。 你可以將無法編譯的測試註解掉,只要在每一行開頭加上//。 之後,當你準備好處理那個測試時,再把它取消註解就好。 Rust 還有一個特別的巨集todo!(),你可以在還沒完成的程式碼路徑上使用它,讓程式得以編譯。

使用函式庫

大多數練習應該都不需要使用任何外部函式庫就能解出來。 不過,你可以在練習的目錄中執行cargo add crate-name來加入函式庫(Rust 社群稱之為 crates)。

網站上的自動測試只支援一組預先定義好的 crates,這些 crates 可以在這裡的[dependencies]區段中找到。 如果你想為特定的 crate 新增支援,歡迎開一個 issue 或 pull request。