Я пытаюсь использовать Тест Повышения, чтобы добавить, что некоторым очень были нужны модульные тесты к моему коду. Однако я, может казаться, не заставляю это работать. Прямо сейчас у меня есть следующий код
#include <Drawing.h>
#define BOOST_AUTO_TEST_MAIN
#define BOOST_TEST_MODULE DrawingModelTests
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(DrawingModelTests)
BOOST_AUTO_TEST_CASE ( DrawingConstructorTest)
{
Drawing * drawing = new Drawing;
delete drawing;
}
BOOST_AUTO_TEST_SUITE_END()
Из того, что я понимаю, что не должен помещать основное или что-либо, так как повышение будет заботиться о нем самостоятельно. Однако Visual Studio продолжает давать мне, "точка входа должна быть определена" ошибка. Я должен вручную добавить ссылку к статической библиотеке или чему-то? Я компилирую как стандарт .exe консольное приложение.
Мой код похож и работает нормально. Единственное отличие, которое я вижу, это то, что я не определяю Boost_auto_test_main
вообще. Boost_Test_Module
говорит о том, где определить Главный
, насколько я знаю.
В конце концов, способ сделать его работу - использовать Boost.test в качестве динамической библиотеки вместо статической библиотеки.
Добавьте / SUBSYSTEM: CONSOLE к флагам компоновщика. В настройках проекта это находится на странице Linker-> System. Вы можете использовать boost как динамическую, так и статическую библиотеку.