问题标签 [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 回答
5658 浏览

c++ - 我可以通过 boost 测试检查我的程序的输出吗?

像:

0 投票
4 回答
8433 浏览

c++ - 对 DLL 中的非导出类进行单元测试

我们使用 Visual Studio 2008 开发 C++ 应用程序并使用 Boost.Test 进行单元测试。目前,我们有一个单独的解决方案,其中包含我们的单元测试。

我们在核心解决方案中的许多项目都会生成 DLL。我们的测试覆盖率有限,因为我们无法测试非导出的类。

关于如何测试这些,我有两个想法:

  1. 导出一切
  2. 将测试放在 DLL 中(相同的项目和解决方案)并使用 Boost.Test 的外部运行器

我不完全确定缺点是什么。上面的数字 1 破坏了模块级别的封装,而数字 2 可能会导致更大的 DLL,除非可以仅在某些配置中包含测试代码。

那么,上述方法是否存在严重的缺陷,或者您能想到其他解决方案吗?

0 投票
1 回答
1959 浏览

c++ - Boost Test Library 使用不同的“参数”运行套件两次

我有一套可以在几种不同模式下运行的测试。除了一些全局配置或夹具配置外,测试用例代码是相同的。

boost 测试库中是否有某种方法可以实现这一点,而不必为所有单独的测试用例编写包装器?

请注意,这不是命令行开关,它应该是同一执行的一部分。

0 投票
1 回答
2922 浏览

c++ - 在手动定义的套件树中提升测试用例和套件装置

在 Windows x86、Android TI 2.2 上使用 Boost 1.46.1

我已经定义了自己的测试套件树,因为我需要用户选择测试的顺序。虽然我知道测试应该是独立的,但这是一个要求。测试套件树是使用我自己的test_suite* init_unit_test_suite(int, char**).

对于自动化测试用例和自动化测试套件,有 Boost 宏:BOOST_FIXTURE_TEST_CASEBOOST_FIXTURE_TEST_SUITE( suite_name, F ). 这些宏将函数注册到framework::master_test_suite(),在这种情况下这是不希望的行为。

全局夹具 ( BOOST_GLOBAL_FIXTURE(fixure_name)) 在手动测试套件定义中不受影响。

我想在 Boost Unit Testing Framework 中使用固定装置来手动定义测试套件和用例。一个整洁的方式。

有一些解决方法:

  • 测试套件夹具 - 可以定义为其子套件/案例中的第一个和最后一个测试。然而,这会影响测试结果并作为单独的测试,这并不是一个很好的解决方案。
  • 测试用例夹具 - 通过在测试用例函数周围包装一个作用域实例。

有没有其他更清洁和更好的解决方案来解决我的问题?我真的没有资源可以深入研究 Boost 库。另一方面,我不想显着降低我这边代码的质量和可读性。

问候, LK

单元测试框架:用户指南
http://www.boost.org/doc/libs/1_46_1/libs/test/doc/html/utf/user-guide.html

0 投票
2 回答
1472 浏览

unit-testing - 使用 Boost 单元测试的问题

我想开始使用 Boost Test 库为我的应用程序创建测试。

按照我在http://www.boost.org/doc/libs/1_47_0/libs/test/doc/html/tutorials/new-year-resolution.html找到的教程,我开始了我的测试课程。

所以,我为我的测试创建了一个类,简单的 .cpp 就是这个

好吧,我知道我必须做一些比 return true 更聪明的事情,但这不是问题。问题是它无法编译。我认为该库已更正加载,因为如果我只编译前两行我没有错误,如教程页面中所述。

如果我尝试编译它,我会从 GCC 获得以下错误输出:

我是 Boost 的新手,所以我不知道我必须做什么。我做错了什么?我认为我已经完成了相同的教程步骤,或者没有?

感谢您的回复。

0 投票
3 回答
4242 浏览

c++ - 使用 boost::test 进行内存泄漏检测

我尝试使用行号启用 msvc 内存泄漏检测,如下所示

我试图设置预处理器定义

_CRTDBG_MAP_ALLOC

手动在项目属性中,但我只得到这个:

没有行号。我还尝试使用 BOOST_TEST_NO_MAIN 手动定义 main 并自己转储,如下所示:

但也没有任何成功。如何才能做到这一点?

0 投票
1 回答
5696 浏览

c++ - boost测试库:多重定义错误

我正在尝试在 QTCreator for Windows 中测试我已经完成的库(微积分)。

我已经创建了一个主文件,并在一个单独的文件中创建了一个用于测试的类。如果我编译http://www.boost.org/doc/libs/1_47_0/libs/test/doc/html/utf/user-guide/test-organization/manual-test-suite.html中的示例,它可以工作,因此在http://www.boost.org/doc/libs/1_47_0/libs/test/doc/html/utf/user-guide/test-organization/manual-nullary-test-case.html中找到的示例也有效。

但是当我尝试编译我的项目时,我有很多(超过 500 个)多个定义的错误。您可以在下面找到我的文件。如您所见,我还尝试对 boost 标头进行一些防护,但它不起作用。我究竟做错了什么?

主文件

testcalculus.h

testcalculus.cpp

编译输出

0 投票
4 回答
18337 浏览

c++ - 提升测试链接

我想Boost test在我的项目中使用。

我在我的项目中使用 cmake,所以我写了一个简单CMakeList.txt的包装它:

所以,cmake 在这里工作正常。在编译过程中出现了问题:

链接 CXX 可执行文件 ../../bin/UnitTests

/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/../../../../lib/crt1.o:在函数_start': (.text+0x20): undefined reference tomain'collect2:ld返回1退出状态

这是测试文件夹 ( LogManagerTest.cpp) 中的唯一文件:

这里有什么问题?

0 投票
1 回答
388 浏览

c++ - boost.test 标头之间的区别

boost/test/unit_test.hpp标头和有什么区别boost/test/included/unit_test.hpp?两者似乎都适用于我的项目,我不确定应该使用哪个。

0 投票
3 回答
2958 浏览

xml - boost::test,junit XML 输出

我为 C++ 中的单元测试选择了一个框架 最好的(对我来说)解决方案是 boost::test,因为它在 boost 中:)

但是有一个问题 - 框架必须能够生成 JUnit 格式的 XML 输出,但默认情况下 boost::test 可以生成人类可读或自己的 XML 格式

  • (据我了解)我可以编写自己的(自定义)生成器

所以问题是:有人知道让 boost::test 以 JUnit 格式生成报告的最快方法吗?