unit-testing - boost 测试无输出

标签 unit-testing boost boost-test

我正在尝试使用 boost 测试库实现单元测试。我首先阅读 boost 站点上的手册。在此之后,我在我已经存在的项目之一中制作了一个简单的测试程序。我面临的唯一问题是我无法看到测试结果。我确信我做错了什么:)但我无法弄清楚。以下是我的项目的详细信息

我为此使用了visual studio8:
我有一个名为 的解决方案MyProject.sln

与其他项目一起,我有一个名为 的项目。 MyDLL.vcproj (这个项目的类型是 DLL )

与 MYDLL proj 中的其他文件一起,我添加了一个新的 cpp 文件名 MyTest.cpp ,该文件包含以下代码:

#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MAIN
//#define BOOST_TEST_MODULE MyTestTestModue  //no need for this maro if above macro is used
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_CASE(SampleTC)
{
    BOOST_CHECK(true);
};    

我在 MYDLL 项目属性表中进行了以下更改
C++ -> General -> Additional Include Dependencies = D:\MyProject\Boost\boost\test
Linker -> General -> Additional Libray Directories = D:\MyProject\Boost\lib\win32\Debug
Linker -> System -> SubSystem = (/SUBSYSTEM:CONSOLE)

我阅读了手册中给出的所有编译细节,但仍然无法获得输出。理想情况下,我想将 Boost 测试用作独立库(UTF 的动态库变体)。

最佳答案

I am sure that i am making some thing wrong :)



实际上,我认为问题在于你做对了。

您的测试通过了,因为检查的值是 true , 默认情况下 Boost.Test 只输出有关失败的测试的信息。您需要设置日志级别,可以通过以下两种方式之一完成:传递 --log_level=all作为测试可执行文件的选项,或设置环境变量 BOOST_TEST_LOG_LEVELall .

this page of the documentation对于所有运行时参数。

编辑:它实际上是 --log_level (中间有一个下划线)

关于unit-testing - boost 测试无输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882887/

相关文章:

c++ - 尝试使用 boost.Test 捕获 block

c++ - Boost 测试库使用不同的 "parameters"运行套件两次

c# - Umbraco 单元测试

ruby-on-rails - 如何使固定装置在 Rails 的测试中可更新?

c++ - Boost.Asio async_handshake 无法取消

c++ - 限制 boost make_shared 采用的参数

c++ - 使用 boost 的内存映射二维数组

command-line-interface - 排除 Boost.Test 中的特定测试

python - 在单元测试中将 errno 与 assertRaises 结合使用

unit-testing - 测试通过,但之后给出断言错误