2010-06-25 32 views
6

Tôi có một dự án python rất lớn với một bộ thử nghiệm rất lớn. Gần đây, chúng tôi đã quyết định định lượng chất lượng của vùng phủ sóng thử nghiệm của chúng tôi.Làm thế nào tôi có thể đảm bảo tốt phạm vi kiểm tra của Python proejct lớn của tôi

Tôi đang tìm một công cụ để tự động hóa việc tạo báo cáo vùng phủ sóng thử nghiệm. Lý tưởng nhất là tôi muốn có các báo cáo hấp dẫn, dễ đọc nhưng tôi sẽ giải quyết các báo cáo kém hấp dẫn hơn nếu tôi có thể làm cho nó hoạt động nhanh chóng.

Tôi đã thử Mũi, điều này không đủ tốt: Tính năng này không tương thích với tính năng gói không gian tên của distribution/setuptools. Thật không may bảo hiểm mũi sẽ không bao giờ làm việc cho chúng tôi kể từ khi chúng tôi sử dụng phong phú tính năng này. Đó là một sự xấu hổ thực sự bởi vì Mũi dường như hoạt động rất tốt ở Hudson (chủ yếu)

Thay vào đó, tôi nghe nói rằng có cách để thực hiện phân tích bảo hiểm Python trong Eclipse, nhưng tôi không hoàn toàn bị khóa kỹ thuật hoàn hảo.

Bất kỳ đề xuất nào đều được chào đón!

FYI chúng tôi sử dụng Python 2.4.4 trên Windows XP 32bit

+0

Tôi đã cố gắng tái tạo vấn đề này và không thể. Salim, nếu bạn muốn giúp đỡ với nó, thả tôi một dòng. –

Trả lời

4

Bạn đã cố gắng sử dụng coverage.py? Nó là nền tảng của "che phủ mũi", nhưng có thể chạy hoàn hảo bên ngoài mũi nếu bạn cần.

Nếu bạn chạy thử nghiệm của mình với (giả thuyết) python run_my_tests.py, khi đó bạn có thể đo mức độ phù hợp với coverage run run_my_tests.py, sau đó nhận báo cáo HTML với coverage html.

Từ mô tả của bạn, tôi không chắc bạn đang gặp vấn đề gì với mũi, đặc biệt là vấn đề về mũi hoặc vấn đề bảo hiểm. Cung cấp một số chi tiết khác và tôi chắc chắn rằng chúng tôi có thể làm việc thông qua chúng.

1

Ned đã đề cập đến mô-đun coverage.py tuyệt vời của mình.

Nếu vấn đề bạn gặp phải là một cái gì đó mũi cụ thể, bạn có thể muốn xem xét sử dụng một thử nghiệm Á hậu. Tôi đã sử dụng py.test cùng với plugin pytest_coverage cho phép bạn tạo thống kê bảo hiểm. Nó cũng có một plugin pytest_nose để giúp bạn di chuyển.

Tuy nhiên, tôi không hiểu chính xác vấn đề bạn đang gặp phải là gì. Bạn có thể xây dựng một chút về tính năng gói không gian tên "distribution/setuptools" mà bạn đã đề cập không? Tôi tò mò muốn biết vấn đề là gì.

+0

Chúng tôi sử dụng tính năng gói không gian tên của các công cụ thiết lập cho phép nhiều trứng cung cấp nội dung trong không gian tên signle, ví dụ: nếu myproduct_foo_1.0.egg có thể cung cấp myproduct không gian tên và myproduct.foo và myproduct_bar_1.0.egg sẽ cung cấp không gian tên myproduct.bar. Khi tôi cố gắng phân tích bảo hiểm trên sản phẩm của tôi, công cụ bảo hiểm cần phải phát hiện ra hai quả trứng nào thực sự chứa nguồn của mỗi mô-đun liên quan. Hiện tại mũi/cover.py dường như đang làm sai. –

+1

Salim, tôi rất muốn sửa lỗi coverage.py để có được quyền này. Bạn có mẫu tôi có thể thử bản thân mình? –

+1

BTW: Tôi đã thêm thẻ coverage.py cho vấn đề này: http://bitbucket.org/ned/coveragepy/issue/75/namespace-packages-break-coveragepys-ability-to-find-source –

Các vấn đề liên quan