我想在我正在研究的 C++ 库中进行一些基于属性的测试,并且正在考虑使用 RapidCheck,除非有人有更好的主意。(例如,我需要生成任意std::set<int>
,如果我可以在int
集合的范围和集合的大小上设置界限,那就更好了。)
说了这么多,我还是个 cmake 新手。RapidCheck 中似乎没有任何说明,只是将其作为源代码的一部分包含在内(尽管下载它会更好)。我已经到了可以在我的代码中包含 RapidCheck 的标头的地步,但是当我尝试使用 RapidCheck 构建任何应用程序时,我被告知缺少 RapidCheck 的符号或缺少 rapidcheck 库。
我假设我必须将 RapidCheck 本身构建为项目的一部分以生成库,但我不完全确定如何执行此操作,而且似乎很难找到任何执行此操作的示例。
是否有人对完成此类事情的示例有任何建议,以便我可以看到构建第 3 方 API 所需的命令字符串,并在构建可执行文件时包含库,或者 - 甚至更好 - 使用 RapidCheck 的项目示例确实是这样吗?缺乏关于如何设置的文档令人沮丧。
我希望这不是过于模糊。总而言之,我想从 cmake 做些什么:
- 最好下载 RapidTest(尽管直接从 RapidTest 项目中包含文件也可以)。
- 运行所需的命令并设置必要的变量以使我的测试代码(在 中
${PROJECT_SOURCE_DIR}/test
)能够访问 RapidTest 标头。 - 生成(如有必要)RapidTest 库并制作它,以便我可以将其链接到我正在运行的测试。
提前感谢您提供的任何帮助!