问题标签 [boost-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1082 浏览

c++ - 如何使用 Boost.Test 库处理整数除零异常?

我正在使用 Boost.Test 针对一些旧的 C 数学库编写单元测试。已知为某些指定输入引发整数除零系统异常的测试函数之一。假设这是期望的行为,我想为这种情况编写否定测试。

BOOST_REQUIRE_THROW(statement, exception);对我不起作用,因为它不是 C++ 样式异常(此宏在try {} catch {}内部使用)。

当我预计系统级别出现故障时,处理案例的正确方法是什么?

0 投票
4 回答
3819 浏览

c++ - 每个套件的 boost-test 初始化(不是案例)

我需要初始化一些变量,这些变量在 BOOST_AUTO_TEST_SUITE 中是“全局的”,因此它们的构造函数将在套件启动时被调用,并且它们的析构函数将在最后一个相应的 BOOST_AUTO_TEST_CASE 完成后立即被调用

有人知道我该怎么做吗?看起来全球固定装置不是一个解决方案......

0 投票
2 回答
2772 浏览

unit-testing - boost 单元测试 - 列出可用的测试

我编写了一些脚本来自动运行我们的单元测试,这些脚本是使用 boost 单元测试框架编写的。我想添加功能以允许选择和随后运行所有测试的子集。我知道我可以使用 run_test 参数运行测试子集,但是我找不到列出编译二进制文件中的所有测试的方法,即我可以传递给 run_test 的所有参数值。有没有办法提取所有可用的测试,还是我必须编写一个自定义测试运行器?如果是这样,我从哪里开始?

0 投票
1 回答
111 浏览

c++ - 函数拒绝在 Boost 测试函数中工作

我不明白为什么在类构造函数中我可以调用这个函数,但是在测试函数中调用时,它会出错

C++ 文件

.h 文件

我要做的是为我的项目创建一个插件引擎,同时使其可重用,并且 C++ 文件确保其正常工作。

0 投票
1 回答
2119 浏览

c++ - 如何预期 static_assert 失败并使用 Boost.Test 框架处理它?

如果我有一个接受模板参数的方法,该参数应该可以转换为 base_of 或与返回的类型相同的类型,我应该怎么做?

例如,考虑这种方法:

现在,我要 BOOST_CHECK 了!

我希望这个 BOOST_CHECK 编译良好并通过。但是,我希望用户代码在他实际执行以下操作时无法编译:

任何的想法?

0 投票
2 回答
119 浏览

c++ - Boost.Test 吐出垃圾而不是可读的错误消息

我正在使用 Boost.Test,但我的测试失败了。这很有趣,但结果令人恐惧。这是 Boost.Test 的输出:

这是我失败的测试用例:

我真的不知道这里发生了什么。这些奇怪的、不可读的错误消息可能是什么原因造成的?Boost 不喜欢我的代码吗?我的 Boost 安装有问题吗?

0 投票
1 回答
427 浏览

locale - 带有 unsigned char 的 BOOST_CHECK_EQUAL_COLLECTIONS 在不匹配时输出不可打印的字符

有没有办法改变unsigned char输出格式BOOST_CHECK_EQUAL_COLLECTIONS

我正在使用 Boost.Test 1.37.0 来验证 unsigned char 数组中的值:

我在不匹配时得到不可打印的字符:

我暂时更改expected_message为一个unsigned数组,因此它打印数字而不是字符 - 同样,我可以复制result.Message到一个新的vector<unsigned>并与之进行比较:

这并不可怕,但如果可能的话,我更愿意与原版进行比较。

在内部,BOOST_CHECK_EQUAL_COLLECTIONS正在使用stringstream我无法访问的临时文件,但这让我对ostream格式化感到疑惑。

我在处理方面和语言环境方面没有很多经验,但我想知道是否可以使用它们以某种方式使个人unsigned chars 打印为数字而不是 ASCII?

0 投票
1 回答
494 浏览

c++ - 从命令行使用 Boost::Test 测试 DLL

我正在用 C++ 开发一个 DLL,并希望使用Boost Test Libraries对该 DLL 执行单元测试。

我发现here可以test_runner.exe使用。

如何获得test_runner.exe?有没有不需要建造的方式或地点boost

我从BoostPro 下载页面安装了 boost 1.47 ,但那里没有 test_runner.exe。

谢谢。

0 投票
1 回答
2468 浏览

c++ - init_unit_test_suite 重定义错误

我正在尝试从 boost::test 教程中编译一个示例:

但我收到以下错误:

..\src\test.cpp: 在函数'boost::unit_test::test_suite* init_unit_test_suite(int, char**)': ..\src\test.cpp:23:1: 错误:重新定义'boost: :unit_test::test_suite*
init_unit_test_suite(int, char**)' C:\Boost/boost/test/unit_test_suite.hpp:223:1: 错误: 'boost::unit_test::test_suite* init_unit_test_suite(int, char** )' 之前在这里定义

如何解决这个问题?

0 投票
2 回答
131 浏览

c++ - boost::test 和验证代码被执行

如果某个回调恰好运行 N 次,我有一个成功的测试(除其他外)。当然,我可以编写一些代码来计算回调运行的次数,然后针对该条件执行 boost::test 用例。但是这种情况经常出现,我想知道我是否错过了 boost::test 中对此的一些支持。

非常感谢任何提示。