tôi làm việc như nhà phát triển và tôi thích sử dụng CMocka công cụ để cung cấp UnitTesting cho ngôn ngữ C.. Đó là công cụ đơn giản dựa trên GTest (chủ yếu là thử nghiệm đơn vị C++) và nó thực sự dễ hiểu. Một thời gian trước, tôi đã thực hiện một nghiên cứu cho công cụ kiểm tra tốt nhất và đơn giản nhất và quyết định điều này.
Và sau một thời gian làm việc với điều này tôi thực sự tự tin. Sử dụng chỉ thị tiền xử lý
#define MyFunction(iEntry) mock_MyFunction(iEntry)
bạn cũng có thể cắt bất kỳ chức năng nào bạn muốn mô phỏng (ngay cả các chức năng cơ bản như sizeof(), malloc() vv).
Sau bước này, bạn chỉ cần tạo các chức năng mô phỏng (mock_MyFunction (iEntry)), đưa chúng vào dự án của bạn và mô phỏng hành vi của chúng. Cách ưu tiên là đặt chúng một số giá trị trước khi gọi chúng sẽ trả về (will_return_always (mock_MyFunction, 5)). Và khi chức năng này được gọi, nó sẽ luôn trả về giá trị 5.
Ngoài ra bạn hoàn toàn có thể tránh ngôn ngữ C++ và tiếp tục làm việc với ngôn ngữ C đơn giản. Không biết trang web chỉ mục đơn giản của CMocka. Bạn phải đi sâu vào trang web đó và API của công cụ để tìm thấy những gì bạn cần .. :) Ngoài ra, hãy kiểm tra this để có hướng dẫn nhỏ về việc sử dụng CMocka ...
Tôi hy vọng điều này sẽ giúp, có một ngày tốt đẹp ..:-)
Nguồn
2014-03-27 13:09:30
Xem thêm câu hỏi này: http://stackoverflow.com/questions/65820/unit-testing-c-code. – MattK
Đây là loại câu hỏi tôi đang tìm kiếm nhưng tìm kiếm không thực sự tìm thấy nó. Cảm ơn! – Mitchell