在 Odin 学习轨道上测试

了解如何在 Exercism 上测试你的 Odin 练习


在 exercism 项目目录中,只要切换到练习目录并运行 odin test .,就能运行 Odin 练习。

cd "$(exercism workspace)"/odin/leap
odin test .

启用语言检查

测试时,Odin 可以“vet”你的代码:它会检查诸如未使用的导入和变量之类的问题。

用下面的命令运行测试:

odin test . -vet

想要更多检查,可以再加上 -strict-style 选项。

测试驱动开发(TDD)

odin test 会运行每个带有 @(test) 属性的过程。

在测试套件中,你会注意到每个测试过程都带有这个属性。也就是说,启动测试时,每个测试过程都会运行。

Exercism 一般提倡测试驱动开发,其流程是:

  • 一开始,除第一个之外的所有测试都被配置为跳过;
  • 你只写刚好能让第一个测试通过的代码;
  • 然后启用下一个测试,再写刚好能让它通过的代码;
  • 如此重复,直到你的代码通过所有测试。

我们(维护者)没能找到一种优雅的、以编程方式执行部分测试的方法。测试文件变得实在太笨重了。要用 TDD 开发,你可以直接编辑测试文件,把还没准备好执行的测试注释掉,然后随着你编写解答,逐个取消注释。

参考资料

更多细节,请参见 Odin 的测试运行器文档,以及 odin test -help。