ExercismでSQLiteの演習をテストする方法を学びます。
SQLiteの演習のテストを実行するには、次の手順に従ってください。
${slug}_test.sqlファイルが入っているディレクトリに移動します。${slug}は演習の名前で、スペースの代わりにハイフンを使い、すべて小文字で書きます。sqlite3 -bail < ${slug}_test.sql
このコマンドは、空のデータベースでSQLiteを初期化し、${slug}_test.sqlで指定されたテストを実行して、その後終了します。
-bailは、無効なコードがあったときにコードの実行が確実に停止するようにします。
テストの結果はコンソールに表として表示されます。表には各テストの説明、ステータス(例:「pass」)、そしてステータスが「fail」の場合のメッセージが表示されます。
デバッグにはSELECT文を使えます。
テストが失敗すると、出力はuser_output.mdに転送され、Webエディターに表示されます。
テストファイル(${slug}_test.sql)は、かなり複雑なスクリプトです。
ここでは、その動作の概要を説明します。
create_fixture.sqlを読み込んでテーブルを準備します。
これはテーブルを作成し、有効なデータにはdata.csvの値を、失敗するはずのエントリーにはerror_data.csvの値を入れます。
テスト中にチェックされるのはこれらのテーブルだけです。他のテーブルへの変更は無視されます。${slug}.sqlファイルを読み込んで、解答のコードを実行します。