2010-01-15 50 views
8

Tôi đang cố gắng sử dụng Kiểm tra Tăng cường để thêm một số xét nghiệm đơn vị cần thiết vào mã của tôi. Tuy nhiên tôi không thể làm cho nó hoạt động được. Ngay bây giờ tôi có mã sau đâySử dụng thử nghiệm tăng cường với Visual Studio

#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() 

Từ những gì tôi hiểu tôi không cần phải đặt một chính hoặc bất cứ thứ gì kể từ khi tăng sẽ tự chăm sóc nó. Tuy nhiên Visual Studio tiếp tục cho tôi một lỗi "điểm vào phải được xác định". Tôi có cần phải thêm một liên kết vào thư viện tĩnh theo cách thủ công hay không? Tôi đang biên dịch như một ứng dụng giao diện điều khiển .exe chuẩn.

Trả lời

9

Tôi đã gặp sự cố này với VS2010 và giải pháp là đặt 'Thuộc tính cấu hình -> Trình liên kết -> Nâng cao -> Entry Point' thành 'main' cho dự án.

+0

Tôi không thể tin sau tất cả thời gian này tôi cuối cùng có thể đưa ra câu trả lời cho câu hỏi đó ^^. Cảm ơn bạn! –

1

Mã của tôi tương tự và hoạt động tốt. Sự khác biệt duy nhất tôi có thể thấy là tôi hoàn toàn không xác định được BOOST_AUTO_TEST_MAIN. BOOST_TEST_MODULE cho biết vị trí cần xác định main, theo như tôi biết.

0

Cuối cùng, cách làm cho nó hoạt động là sử dụng boost.test làm thư viện động thay vì thư viện tĩnh.

16

Thêm/SUBSYSTEM: CONSOLE vào cờ liên kết. Trong các thiết lập của dự án, điều này nằm trên trang Linker-> System. Bạn có thể sử dụng boost như thư viện động hoặc tĩnh.

+1

Tôi gặp sự cố tương tự, sử dụng thư viện Google Test và liên kết với gtest_main.lib. Điều này cũng được khắc phục. – user75810

1

Tôi đặt 'Thuộc tính cấu hình -> Trình liên kết -> Nâng cao -> Entry Point' thành 'mainCRTStartup', mẹo nào giúp tôi. (Trong cấu hình xây dựng cụ thể của tôi, tôi đang liên kết tĩnh các thư viện tăng cường).

+0

chỉ điều này cũng giúp ích cho tôi, cảm ơn! – user2199593

Các vấn đề liên quan