Tôi có một mã cơ sở mã C cũ khá lớn trên một hệ thống nhúng và rất tiếc không có trường hợp/bộ thử nghiệm tự động nào. Điều này làm cho việc tái cơ cấu và tái cấu trúc mã là một nhiệm vụ nguy hiểm.Truy tìm cuộc gọi và tham số chức năng C - trường hợp thử nghiệm và tạo mô hình
Viết thủ công các trường hợp thử nghiệm rất tốn thời gian, vì vậy tôi cho rằng có thể tự động hóa ít nhất một phần của quá trình này bằng cách truy tìm tất cả các cuộc gọi hàm và ghi các giá trị đầu vào và đầu ra. Sau đó tôi có thể sử dụng các giá trị này trong các trường hợp thử nghiệm (điều này sẽ không làm việc cho tất cả nhưng ít nhất là đối với một số chức năng). Nó có lẽ cũng sẽ có thể tạo ra các chức năng giả dựa trên dữ liệu thu thập được.
Có trường hợp kiểm tra như vậy sẽ làm cho việc tái cấu trúc hoạt động ít nguy hiểm hơn.
Có bất kỳ giải pháp nào đã có thể thực hiện việc này không? Điều gì sẽ là cách dễ nhất để có được điều này để làm việc nếu tôi đã phải mã nó bản thân mình?
Tôi đã nghĩ về việc sử dụng ctags
để tìm định nghĩa hàm và gói chúng trong một hàm ghi lại các giá trị tham số. Một khả năng khác có lẽ sẽ là một trình biên dịch gcc plugin.
bạn có nghĩ câu hỏi này thuộc về superuser.com ... ?? –
@ Mr.32: Đây là một câu hỏi liên quan đến lập trình, vì vậy nó chắc chắn thuộc về đây. –