在 SQLite 學習路徑上測試

了解如何在 Exercism 上測試你的 SQLite 練習


要執行 SQLite 練習的測試,請依照下列步驟:

  1. 開啟你慣用的終端機。
  2. 切換到含有對應${slug}_test.sql檔案的那個目錄。其中${slug}是練習名稱,以連字號取代空格,並且全部使用小寫。
  3. 執行下列指令:
sqlite3 -bail < ${slug}_test.sql

這個指令會用空白的資料庫啟動 SQLite,執行${slug}_test.sql裡指定的測試,然後結束。 -bail會確保程式碼在遇到無效的程式碼時停止執行。

測試結果會以表格的形式顯示在主控台中,包含每項測試的說明、狀態(例如「pass」),以及狀態為「fail」時的訊息。

除錯

你可以使用SELECT敘述來除錯。 如果測試失敗,輸出會轉送到user_output.md,並顯示在網頁編輯器中。

執行細節

測試檔案(${slug}_test.sql)是一支相當複雜的指令碼。 以下是它的運作概況。

  1. 讀取create_fixture.sql來建立資料表。 這個步驟會建立資料表,然後用data.csv裡的資料填入有效資料,用error_data.csv填入應該失敗的項目。 測試期間只會檢查這些資料表;其他資料表的變更會被忽略。
  2. 讀取${slug}.sql檔案來執行解答程式碼。
  3. 建立用來存放測試案例與結果的資料表。
  4. 根據解答更新過的資料表中的資料,填入測試結果。
  5. 顯示測試結果(pass 或 fail,以及選用的詳細資訊)。 這些 CSV 檔案包含了測試各種情境所需的資料。