我有一个Visual Studio
我想做一些单元测试的项目Boost.Test
.
我有 2 个文件:
File 1:
#define BOOST_TEST_MODULE FileX
#include <boost/test/unit_test.hpp>
#include <stdio.h>
BOOST_AUTO_TEST_SUITE(test_suite_name)
BOOST_AUTO_TEST_CASE(TestFileX)
{
BOOST_CHECK(true);
}
BOOST_AUTO_TEST_SUITE_END()
和文件2:
#define BOOST_TEST_MODULE XContainer
#include <boost/test/unit_test.hpp>
#include <stdio.h>
BOOST_AUTO_TEST_SUITE(test_suite_name2)
BOOST_AUTO_TEST_CASE(TestXContainer)
{
BOOST_CHECK(true);
}
BOOST_AUTO_TEST_SUITE_END()
当我编译项目时,出现链接错误,表明 main 已定义。
我注意到main
文件定义于unit_test.hpp
但我需要将它包含在测试宏中。
我应该如何在 2 个单独的文件中添加 2 个测试用例?
真正的问题是 BOOST_TEST_MODULE 只能在整个测试可执行文件中定义一次。定义 BOOST_TEST_MODULE 还定义了 BOOST_TEST_MAIN,它引入了 main 的实现。
因此,在一个地方将 BOOST_TEST_MODULE 定义为全局套件的名称,因此还定义 BOOST_TEST_MAIN 以获得 main 的单个实现。
这是我需要在我的文章中注意到的一个微妙之处文档重写 http://user.xmission.com/~legalize/boost.test/libs/test/doc/html/index.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)