了解当测试在本地通过但在线不通过时该怎么办
有时,测试会在你自己的机器上通过,在线上却不通过。
通常有以下几个原因:
很多 Exercism 练习都自带一些被跳过的测试。 这样设计的目的,是让你依次解决每一个测试,每解决一个就取消下一个的跳过。 等你做到练习的最后时,所有测试都应该已经取消跳过并且全部通过,你的提交的解答也就完整可用了。 关于跳过在这种语言中如何工作,具体细节请查看你正在学习的学习路径的文档。
我们在线上运行测试时,会先取消所有测试的跳过。 如果你在本地没有取消所有测试的跳过,我们可能因此发现一些你没有考虑到的边界情况,测试就会失败。
Exercism 的测试运行器使用的是特定的语言版本。 它可能不是这门编程语言的最新版本,因为每当有新的语言版本发布时,我们都需要手动更新测试运行器。
如果测试在线上失败,请查看输出(点击 “Failed” 一词),并试着找出可能出错的地方。
如果你判断问题出在版本不匹配上,请在 GitHub 上相应的测试运行器代码仓库中提一个 issue。
这类仓库的命名通常遵循 https://github.com/exercism/$SLUG-test-runner 的格式(例如 https://github.com/exercism/ruby-test-runner)。