在 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 文件包含测试各种场景所需的数据。