我正在计划一个包含多个模块的项目,并且我正在寻找一个很好的解决方案来一次运行项目中的所有现有单元测试。我想出了以下想法:我可以运行nim --define:testing main.nim
并使用以下模板作为我所有单元测试的包装器。
# located in some general utils module:
template runUnitTests*(code: stmt): stmt =
when defined(testing):
echo "Running units test in ..."
code
到目前为止,这似乎运作良好。
作为一个小调整,我想知道我是否真的可以打印出调用runUnitTests
模板的文件名。是否有任何反射机制可以在编译时获取源文件名?