问题标签 [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 投票
2 回答
11292 浏览

c++ - 您如何使用 Boost.Test 指定应该预期的异常?

我有一个 Boost 单元测试用例,它会导致被测对象抛出异常(这就是测试,导致异常)。我如何在测试中指定预期该特定异常。

我可以通过使用 BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES 指定测试应该有一定数量的失败,但这似乎相当不具体。我希望能够在测试中的特定点说应该抛出异常并且不应将其视为失败。

0 投票
10 回答
310488 浏览

c++ - C++单元测试框架比较

我知道已经有一些关于 C++ 单元测试框架建议的问题,但所有答案都没有帮助,因为他们只是推荐了其中一个框架,但没有提供任何关于(功能)比较的信息。

我认为最有趣的框架是 CppUnit、Boost 和新的 Google 测试框架。有人做过比较吗?

0 投票
6 回答
11824 浏览

c++ - 在 Boost Test 框架中测试 assert

我使用 Boost Test 框架对我的 C++ 代码进行单元测试,并想知道是否可以测试一个函数是否会断言?是的,听起来有点奇怪,但请耐心等待!我的许多函数在输入时检查输入参数,断言它们是否无效,对此进行测试会很有用。例如:

我希望能够做这样的事情:

您可以使用 Boost Test 检查抛出的异常,所以我想知道是否也有一些断言魔法......

0 投票
2 回答
559 浏览

c++ - Boost.Spirit 的单元测试

我是 Boost.Spirit 和 Boost.Test 的新手,我想知道您如何验证语法的正确性。下面是我目前如何做的简化版本,我很确定有更好的方法:

每个测试用例都有一对包含要解析的文本和用分号分隔的预期结果的两个字符串。

解析函数执行实际解析并返回一个应该等于预期结果的字符串。

0 投票
1 回答
765 浏览

c++ - 等效于 boost::test 的 CppUnit 保护器?

我已经将CppUnitboost::test用于 C++ 单元测试。通常我更喜欢boost::test,主要是因为自动测试宏最大限度地减少了设置测试的工作量。但是我真的很怀念一件事CppUnit:注册自己的“保护器”的能力,其实例会自动包装所有运行测试。(从技术上讲,您安装了一个测试“侦听器”,它可以将每个测试包装在一个保护器范围内)。

在过去,我发现这些对于监控单元测试的意外副作用非常宝贵(例如,检查代码没有更改浮点单元状态标志)。boost::test 我在文档中看不到任何等效项,尽管BOOST_FIXTURE_TEST_CASE可能最接近。

关于如何最好地实现与 CppUnit 的保护器相同的事情的任何建议boost::test

(我还没有真正研究过boost::test' 的实现,但如果它像CppUnit它必须使用非常像保护器本身的东西)。

0 投票
3 回答
6688 浏览

c++ - Visual Studio 和 Boost::Test

我开始使用 Boost::Test 驱动开发(在 C++ 中),我正在用单元测试改造我的一个旧项目。我的问题是——我在哪里添加单元测试代码?根据 Boost::Test 的文档,测试本身的语法似乎非常简单,但我对如何告诉编译器使用我的单元测试生成可执行文件感到困惑。理想情况下,我会使用预编译的头文件和 boost::test 库的仅头文件版本。

我是否只是为测试创建一个新项目并将所有现有的源文件添加到其中?

比利3

0 投票
1 回答
3264 浏览

c++ - Boost::Test -- Main() 的生成?

我对设置 boost 测试库有点困惑。这是我的代码:

我的编译器生成了非常有用的错误消息:

似乎 Boost::Test 库没有生成 main() 函数——我的印象是它在BOOST_TEST_MODULE定义时会这样做。但是......链接器错误仍在继续。

有任何想法吗?

比利3

编辑:这是我的代码来解决下面正确答案中描述的错误:

希望这对某人有帮助。

比利3

0 投票
3 回答
328 浏览

c++ - 应用程序中的奇怪执行错误

我正在编写一个单元测试,它似乎有某种指针问题。基本上,它正在测试一个类,该类一旦构建,就会返回有关文件的信息。如果检测到所有预期的文件,则测试正常运行。如果预期的文件多于检测到的文件,则例程会正确报告错误。但是,如果检测到的文件多于预期,则可执行文件会崩溃。这很难遵循,因为当我尝试使用调试器单步执行时,当前代码点会在整个方法中跳转——它不会像您期望的那样逐行遵循。

关于我做错了什么的任何想法?

这是我的代码:

谢谢!

比利3

我使用以下代码解决了这个问题:

0 投票
3 回答
1455 浏览

c++ - 我只能在单元测试中使用 BOOST_CHECK 吗?

或者我可以在常规代码中使用它吗?

如果答案是“否”,那么是否有 C++ 库可以为我提供所有宏,如 CHECK_EQUAL、CHECK_CLOSE 等?

0 投票
2 回答
479 浏览

c++ - 升压测试应用程序初始化

我只是对新应用程序的 boost-test 和单元测试进行了说明,我不确定如何处理应用程序初始化(例如加载配置文件、连接到数据库、启动嵌入式 python 解释器等) .

我想测试这个初始化过程,并且应用程序中的大多数其他模块都要求初始化成功发生。

一些运行一些关闭代码的方法也将不胜感激。

我该怎么做呢?