Mặc dù mô tả của bạn về vấn đề không cung cấp cái nhìn sâu sắc về codebase, tôi nghĩ rằng tôi có thể nói rằng vấn đề của bạn là hai lần một cách an toàn.
Học cách viết các bài kiểm tra đúng.
Bạn nói rằng bạn có gần một ngàn bài kiểm tra, và bạn có 120 dự án. Giả sử rằng hầu hết một nửa trong số các dự án đó là các dự án thử nghiệm, bạn có 1000 thử nghiệm đến 60 dự án mã sản xuất. Điều đó cung cấp cho bạn khoảng 16-17 bài kiểm tra pr. dự án!!!
Đó có lẽ là số lượng bài kiểm tra mà tôi sẽ phải trải qua khoảng 1-2 lớp trong một hệ thống sản xuất. Vì vậy, trừ khi bạn chỉ có 1-2 lớp trong mỗi dự án (trong trường hợp đó cấu trúc dự án của bạn quá mịn), các bài kiểm tra của bạn quá lớn, chúng bao phủ quá nhiều nền tảng. Bạn nói đây là dự án đầu tiên mà bạn đang làm TDD đúng cách. Có thể nói, những con số mà bạn trình bày chỉ ra rằng đây không phải là trường hợp, bạn không làm tài sản TDD.
Bạn cần học cách viết các bài kiểm tra phù hợp, điều đó có thể có nghĩa là bạn cần học cách làm cho mã có thể kiểm tra được ngay từ đầu. Nếu bạn không thể tìm thấy kinh nghiệm trong nhóm để làm điều đó, tôi sẽ đề nghị thuê trợ giúp từ bên ngoài, ví dụ như dưới dạng một hoặc hai chuyên gia tư vấn giúp nhóm của bạn trong thời gian 2-3 tháng để học viết mã có thể kiểm tra và nhỏ kiểm tra đơn vị tối thiểu.
Để so sánh, trong dự án .NET mà tôi hiện đang làm việc, chúng tôi có thể chạy khoảng 500 bài kiểm tra đơn vị trong vòng chưa đầy 10 giây (và điều đó thậm chí không được đo trên một máy có thông số kỹ thuật cao). Nếu đó là những số liệu của bạn, bạn sẽ không ngại chạy những thứ này thường xuyên.
Học cách quản lý cấu trúc dự án.
Bạn đã chia giải pháp thành 120 dự án. Đó là theo tiêu chuẩn của tôi một lượng dự án đáng kinh ngạc.
Vì vậy, nếu thực sự có số lượng dự án đó (mà tôi có cảm giác là không hợp lý - nhưng câu hỏi của bạn không cung cấp đủ thông tin để đưa ra phán quyết đủ điều kiện về vấn đề này), bạn cần chia các dự án thành các thành phần nhỏ hơn có thể được xây dựng, phiên bản và triển khai riêng. Vì vậy, khi một nhà phát triển chạy đơn vị bộ thử nghiệm, anh ấy / cô ấy chỉ cần chạy các thử nghiệm liên quan đến thành phần mà anh ấy / cô ấy đang làm việc hiện tại. Máy chủ xây dựng cần quan tâm đến việc xác minh rằng mọi thứ tích hợp chính xác.
Nhưng việc tách một dự án trong nhiều thành phần xây dựng, phiên bản và triển khai riêng biệt đòi hỏi theo kinh nghiệm của tôi một nhóm phát triển rất trưởng thành, một nhóm trưởng thành hơn tôi có cảm giác rằng nhóm của bạn.
Nhưng với bất kỳ giá nào, bạn cần phải làm gì đó về cấu trúc dự án. Hoặc chia các dự án thành các thành phần riêng biệt, hoặc bắt đầu hợp nhất các dự án.
Hãy tự hỏi nếu bạn thực sự cần 120 dự án?
ps Bạn có thể muốn kiểm tra NCrunch. Đó là một trình cắm Visual Studio tự động chạy thử nghiệm của bạn trong nền.