首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用boost测试和不应编译的测试的最佳实践

使用boost测试和不应编译的测试的最佳实践
EN

Stack Overflow用户
提问于 2015-02-17 23:05:15
回答 1查看 209关注 0票数 2

我正在寻找一种合理的方法来测试基于C++模板的软件,在那里我想检查模板参数。如果参数不符合某些条件,我希望编译器发出一个错误。到目前为止一切顺利..。

现在我想测试一下无效的模板参数确实被编译器撤销了。我可以设置一个单独的测试场景,并在构建系统(cmake)中摆弄一些东西来尝试编译该场景,但这听起来非常痛苦。我想我不是第一个试图解决这个问题的人。大约10年前,我使用了一种方法,将单个文件用于多个测试,并使用预处理器启用单个测试。但这也不是很优雅。

对如何解决这个问题有什么建议(最好是在我目前的工具集: c++,cmake,boost-test,bash,python)?

EN

回答 1

Stack Overflow用户

发布于 2015-02-18 17:50:01

CMake的try_compile听起来像是一个不错的工具。

这里的主要问题是try_compile将在CMake配置时运行,这不是进行测试的最佳时机。因此,我建议将测试的编译分离到它自己的CMake项目中。

然后,外部CMake项目将像以前一样构建您的代码,并包含一个在测试项目上运行CMake的自定义构建目标。这样,您甚至应该能够将编译时测试包含到CTest套件中。

我实际上没有用CMake实现任何类似的东西,所以我不能保证它真的会像预期的那样工作,更不用说它是最好的方法了。但如果我必须要写这样一个系统,我可能会从这个开始。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28564472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档