首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Boost.Build中的单元测试编译

禁用Boost.Build中的单元测试编译
EN

Stack Overflow用户
提问于 2012-02-26 13:09:40
回答 3查看 1.1K关注 0票数 1

当涉及到测试时,Boost.Build文档非常简洁。

我的项目中的所有测试都使用unit-test规则定义。

文档中提到的唯一属性是testing.launcher,但这只能在设置为testing.launcher=true时禁用测试的执行。

如何完全禁用unit-test 规则的编译?--例如,通过从命令行设置一个属性--我想暂时这样做。我找不到如何这样做的任何信息,也找不到其他testing.*属性的参考文档。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-07 15:52:13

当我阅读大多数Boost.Build文档及其代码的相关部分时,我发现无法临时禁用构建特定规则或目标集(例如,通过将测试的目标与正则表达式匹配)。

同样值得注意的是,unit-test所反对的,支持新的测试规则:runrun-failcompilecompile-faillinklink-fail

现在,我可能要创建我自己的规则,就像@GrafikRobot的答案一样,但是我将在某个特性存在的情况下,使规则变为空,而不是将目标显式化。

票数 1
EN

Stack Overflow用户

发布于 2012-02-26 21:24:10

如果你是说在默认情况下禁用它们?您可以为每个单元测试添加“显式;”。如果您有许多这样的目标,您可以保存一些类型并声明一条为您执行此操作的规则,并声明如下所示的单元测试:

代码语言:javascript
复制
rule explicit-unit-test ( target : source : properties * )
{
    unit-test $(target) : $(source) : $(properties) ;
    explicit $(target) ;
}

如果你想要别的..。我想你需要更好地解释你的问题,因为我想不出你还想要什么。

票数 2
EN

Stack Overflow用户

发布于 2013-03-10 10:43:05

为此,我使用显式测试套件,如

代码语言:javascript
复制
explicit X ;
test-suite X
:
      [ run test1.cpp ]
      [ run test2.cpp ]
      [ run test3.cpp ]
      [ run test4.cpp ]
;

您将需要在测试套件X中显式地请求执行测试,使用

代码语言:javascript
复制
bjam X
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9453343

复制
相关文章

相似问题

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