2012-01-20 30 views
12

Dự án hiện tại của tôi có chính sách bảo hiểm mã 100% từ các thử nghiệm đơn vị của nó. Dịch vụ tích hợp liên tục của chúng tôi sẽ không cho phép các nhà phát triển đẩy mã mà không có mức độ phù hợp 100%.Kiểm tra đơn vị phân tán và mã vùng trong Python

Khi dự án đã phát triển, do đó có thời gian để chạy bộ kiểm tra đầy đủ. Trong khi các nhà phát triển thường chạy một tập hợp con các bài kiểm tra liên quan đến mã họ đang thay đổi, họ thường sẽ thực hiện một lần chạy cuối cùng trước khi gửi đến CI và máy chủ CI cũng chạy toàn bộ bộ kiểm thử.

Đơn vị kiểm tra bởi bản chất của họ là cao parallelizable, vì chúng được khép kín và không quốc tịch từ thử nghiệm để kiểm tra. Chúng chỉ trả lại hai mẩu thông tin: pass/fail và các dòng mã được bảo hiểm. Một giải pháp bản đồ/giảm có vẻ như nó sẽ hoạt động rất tốt.

Có bất kỳ khuôn khổ kiểm tra Python mà sẽ chạy thử nghiệm trên một cụm máy với mã số bảo hiểm và kết hợp các kết quả khi kết thúc?

+0

Bạn có tìm thấy bất kỳ điều gì làm những gì bạn muốn không? –

+0

@ stair314 Đáng buồn là không. Chúng tôi đã mua thêm một số thời gian bằng cách tối ưu hóa các bài kiểm tra đơn vị của mình và cắt ra một lượng lớn công việc không cần thiết. Chúng tôi cũng đã thêm các máy vào cụm CI của chúng tôi để chúng tôi có thể xây dựng (và thử nghiệm) song song, nhưng chúng tôi vẫn chạy tất cả các thử nghiệm mỗi lần. Hy vọng rằng tại một số điểm chúng tôi sẽ có thể tập trung một số nỗ lực phát triển tại vấn đề này. –

Trả lời

4

Tôi không biết về bất kỳ khung kiểm tra nào sẽ chạy thử nghiệm được phân phối trên một nhóm máy, nhưng mũi có hỗ trợ cho việc kiểm tra song song trên cùng một máy bằng cách sử dụng multiprocessing.

Ở mức tối thiểu có thể là một nơi tốt để bắt đầu để tạo ra một khuôn khổ kiểm tra phân phối

1

Không chính xác những gì bạn đang nhìn vào, nhưng gần nhất tôi có thể nhớ lại là từ các nhóm Hadoop đang sử dụng JUnit để thử nghiệm với Hadoop . Đây là số mail. Như đã đề cập trong tìm kiếm thư cho gridunit giấy tờ.

Đơn vị kiểm tra với Hadoop trong một cách phân phối là rất thú vị. Bất kỳ khung công tác nào xung quanh điều này sẽ rất hữu ích, nhưng việc phát triển một khung công tác không phải là rất khó khăn. Nếu quan tâm cho tôi biết.

4

Tôi nghĩ rằng không có khung phù hợp chính xác với nhu cầu của bạn.

Tôi biết py.test có xdist plugin bổ sung các trình thực thi kiểm tra được phân phối. Bạn có thể sử dụng nó để viết cơ sở hạ tầng CI của bạn trên đầu trang của nó.

+0

Liên kết đã chết. –

+0

https://pypi.python.org/pypi/pytest-xdist – Twirrim