2011-09-16 28 views
18

Tôi là người mới trong khung kiểm tra C++ của Google. Nó khá dễ sử dụng nhưng tôi tự hỏi làm thế nào để tách các trường hợp thành nhiều tập tin thử nghiệm. cách tốt nhất là gì?Trường hợp thử nghiệm riêng biệt trên nhiều tệp trong thử nghiệm google

Bao gồm tệp .cpp trực tiếp là một tùy chọn. Sử dụng một tiêu đề có vẻ như không có gì ...

Bất kỳ trợ giúp được chào đón

Trả lời

25

Tạo một tập tin có chứa chỉ là chính để chạy thử nghiệm.

// AllTests.cpp 
#include "gtest/gtest.h" 

int main(int argc, char **argv) 
{ 
    testing::InitGoogleTest(&argc, argv); 
    return RUN_ALL_TESTS(); 
} 

Sau đó, đưa các thử nghiệm vào các tệp khác. Bạn có thể đặt bao nhiêu bài kiểm tra tùy thích trong một tệp. Tạo một tệp cho mỗi lớp hoặc mỗi tệp nguồn có thể hoạt động tốt.

// SubtractTest.cpp 
#include "subtract.h" 
#include "gtest/gtest.h" 

TEST(SubtractTest, SubtractTwoNumbers) 
{ 
    EXPECT_EQ(5, subtract(6, 1)); 
} 

Điều này yêu cầu tất cả các thử nghiệm có thể chia sẻ cùng một chính. Nếu bạn phải làm một cái gì đó đặc biệt ở đó, bạn sẽ phải có nhiều mục tiêu xây dựng.

+0

Hoạt động tốt! Cảm ơn! – Killrazor

+0

Nếu bạn đang làm việc với google-test trong Xcode (có thể với Objective-C++) và các thử nghiệm của bạn không chạy sau khi tách bộ thử nghiệm của bạn thành các tệp '.cpp' khác, hãy truy cập vào mục tiêu C++ được hỗ trợ bởi google trong Xcode và kích hoạt 'Thực hiện các đối tượng Single-prelink' trong các tùy chọn xây dựng. – bithavoc

+0

Không hiệu quả với tôi. Khi chạy tập tin thực thi Alltests SubtractTest không được gọi. SubtractTest.cpp có được xây dựng dưới dạng tệp thực thi hoặc thư viện không? – user3667089

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