【发布时间】:2021-09-25 02:17:58
【问题描述】:
我管理一个相当大的开源项目,其中包含许多单元测试(约 200 个文件),并且通过所有测试对于持续集成来说非常耗时。我们使用 cmake/ctest/Catch2 作为单元测试框架。
有没有办法告诉 cmake/ctest 只构建和运行单元测试的随机子集(例如,只有 30%)?
当针对给定功能对代码进行多次提交迭代时,检查所有测试的概率趋于一,但每个单独的提交会更快。
显然,在准备 PR 或发布时,该比率将设置为 100%。
【问题讨论】:
-
Is there a way to tell cmake/ctest是的,进行所有测试,随机播放,获得其中的 30%,然后将它们传递给 ctest。你试过什么? -
嗯..我的意思是一种自动的方式来做到这一点。在每个 ctest 调用中随机挑选一些测试。
标签: unit-testing cmake ctest