所以,我开始使用 boost 单元测试。当我尝试构建一个创建类实例的简单测试时,我得到一个编译错误。它在没有类实例的情况下工作正常。
编译错误信息是:
/src/test/WTFomgFail_test.cpp: In member function ‘void WTFomgFail::defaultConstructor::test_method()’:
/src/test/WTFomgFail_test.cpp:20: error: expected primary-expression before ‘obj’
/src/test/WTFomgFail_test.cpp:20: error: expected `;' before ‘obj’
WT FomgFail_test.cpp:
#include "WTFomgFail.hpp"
#define BOOST_TEST_MODULE WTFomgFail
#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(WTFomgFail)
BOOST_AUTO_TEST_CASE( defaultConstructor )
{
WTFomgFail obj = WTFomgFail();
BOOST_MESSAGE("wow, you did it");
}
BOOST_AUTO_TEST_SUITE_END()
WT FomgFail.hpp:
#ifndef WTFOMGFAIL_HPP_
#define WTFOMGFAIL_HPP_
class WTFomgFail
{
public:
WTFomgFail();
~WTFomgFail();
};
#endif /* WTFOMGFAIL_HPP_ */
WT FomgFail.cpp:
#include "WTFomgFail.hpp"
WTFomgFail::WTFomgFail()
{
}
WTFomgFail::~WTFomgFail()
{
}
如果我更改BOOST_AUTO_TEST_SUITE(WTFomgFail)
为其他内容,例如BOOST_AUTO_TEST_SUITE(OMGreally)
.
#define BOOST_TEST_MODULE OMGreally
此外,使用with时我没有收到错误消息BOOST_AUTO_TEST_SUITE(OMGreally)
。
所以,我的问题是,当使用 boost UTF 命名模块时,test_suite 和 class 明确禁止相同的东西?