如何在 cmake/ctest 下编写功能测试脚本到 运行
How to write a functional test script to run under cmake/ctest
在cmake下,CMakeList.txt
中的以下命令
enable_testing()
add_test(<test_name> <test_command>)
足以创建一个可以通过 shell 命令执行的测试 ctest
。
不幸的是,cmake 文档没有给出任何构成有效测试可执行文件的指示 (<test_command>
)。通常,测试可执行文件是使用 google-test 之类的框架生成的。这有点复杂,但是网络上有很好的例子展示了如何在 google-test under cmake.
下进行测试
现在我想将我对cmake/ctest的使用扩展到不需要编译的功能测试脚本,因此不能在google-test下运行。因此我的问题是:什么构成了通过 add_test
:
直接激活的有效手写测试可执行文件
- 我的测试可执行文件应该生成输出吗?它应该写入 stdout 还是 stderr?
- 我的测试可执行文件是否应该 return 某些值来指示成功或失败?
- 或者我可以在 cmake 文档的哪个位置找到答案?
如果测试通过,您的可执行文件应该 return 为零,否则为非零。忽略输出。
add_test
的文档没有提到这一点。
在cmake下,CMakeList.txt
enable_testing()
add_test(<test_name> <test_command>)
足以创建一个可以通过 shell 命令执行的测试 ctest
。
不幸的是,cmake 文档没有给出任何构成有效测试可执行文件的指示 (<test_command>
)。通常,测试可执行文件是使用 google-test 之类的框架生成的。这有点复杂,但是网络上有很好的例子展示了如何在 google-test under cmake.
现在我想将我对cmake/ctest的使用扩展到不需要编译的功能测试脚本,因此不能在google-test下运行。因此我的问题是:什么构成了通过 add_test
:
- 我的测试可执行文件应该生成输出吗?它应该写入 stdout 还是 stderr?
- 我的测试可执行文件是否应该 return 某些值来指示成功或失败?
- 或者我可以在 cmake 文档的哪个位置找到答案?
如果测试通过,您的可执行文件应该 return 为零,否则为非零。忽略输出。
add_test
的文档没有提到这一点。