Michael Feathers, trong Làm việc hiệu quả với Legacy Mã, trên các trang 13-14 đề cập:Làm thế nào chậm là quá chậm cho các bài kiểm tra đơn vị?
Một thử nghiệm đơn vị đó phải mất 1/10th của một thứ hai để chạy là một thử nghiệm đơn vị chậm ... Nếu [kiểm tra đơn vị] không chạy nhanh, chúng không phải là kiểm tra đơn vị.
Tôi có thể hiểu tại sao 1/10 giây là quá chậm nếu có 30.000 bài kiểm tra, vì sẽ mất gần một giờ để chạy. Tuy nhiên, điều này có nghĩa là 1/11 giây có tốt hơn không? Không, không thực sự (vì nó chỉ nhanh hơn 5 phút). Vì vậy, một quy tắc nhanh chóng có thể không hoàn hảo.
Vì vậy, khi xem xét chậm như thế nào là quá chậm cho một bài kiểm tra đơn vị, có lẽ tôi nên thuật lại câu hỏi. Mất bao lâu để nhà phát triển đợi bộ kiểm tra đơn vị hoàn thành?
Để đưa ra ví dụ về tốc độ thử nghiệm. Hãy xem một số thời gian thử nghiệm đơn vị MSTest:
0.2637638 seconds
0.0589954
0.0272193
0.0209824
0.0199389
0.0088322
0.0033815
0.0028137
0.0027601
0.0008775
0.0008171
0.0007351
0.0007147
0.0005898
0.0004937
0.0004624
0.00045
0.0004397
0.0004385
0.0004376
0.0003329
Mức trung bình cho tất cả 21 thử nghiệm đơn vị này là 0.019785 giây. Lưu ý kiểm tra chậm nhất là do nó sử dụng Microsoft Moles để giả lập/cô lập hệ thống tệp. Vì vậy, với ví dụ này, nếu bộ thử nghiệm đơn vị của tôi tăng lên 10.000 thử nghiệm, nó có thể mất hơn 3 phút để chạy.
Tôi nghĩ rằng mức trung bình của bạn là sai. –
Bạn nói đúng. Tôi đã điều chỉnh nó. 0,019785 thay vì 0.19785 – Matt