Khi viết các bài kiểm tra cho một phần mềm, giả sử là một thư viện, bạn có muốn biên dịch tất cả các bài kiểm tra đơn vị thành một hoặc tách chúng thành nhiều phần thi hành không?
Lý do tôi hỏi là vì tôi hiện đang sử dụng CUnit để kiểm tra thư viện tôi đang làm việc. Các thử nghiệm được chia thành các bộ riêng biệt được biên dịch thành một bộ hoàn chỉnh có thể thực hiện được với đầu ra được in cho các lỗi. Bây giờ, xây dựng hệ thống thư viện đó là CMake (trong đó, mặc dù tên của nó, có ít để làm với Cunit), mà đi kèm với khuôn khổ thử nghiệm riêng của mình, CTest . CTest cho phép tôi đăng ký một danh sách các tệp thực thi đóng vai trò kiểm tra.
Tôi đang cân nhắc có nên sử dụng CTest để chạy thử tự động hay không. Tuy nhiên, điều này sẽ yêu cầu tôi tách các bài kiểm tra mà tôi đã viết cho đến nay thành các mục tiêu biên dịch riêng biệt. Mặt khác, tôi thực sự không thể sử dụng một số tính năng nâng cao của CTest, chẳng hạn như kiểm tra chạy có chọn lọc.
Tôi nhận ra đây là câu hỏi về việc sử dụng công cụ nào và cách xử lý cũng như quy ước của họ, nhưng ngoài ra, còn có lý do nào khác để thích một thử nghiệm duy nhất có thể thực thi hơn các công cụ riêng biệt không? Hoặc ngược lại?