Tôi làm cách nào để xây dựng thất bại khi phạm vi mã nằm dưới một ngưỡng nhất định?TFS 2010 RC: Làm thế nào để không xây dựng cho bảo hiểm mã thấp?
Trả lời
Có nhiều khả năng một cách để làm điều này với một nhiệm vụ xây dựng (đặc biệt là nếu bạn sẵn sàng để cuộn của riêng bạn). Hy vọng rằng ai đó sẽ đăng một số mã mẫu cho bạn.
Nếu không, tôi đã bị ấn tượng với NDepend đối với loại tác vụ này. Bạn có thể viết theo cú pháp giống như SQL tự giải thích để xác định tất cả các loại chỉ số về mã của bạn và cảnh báo hoặc không xây dựng dựa trên các ngưỡng.
Ví dụ:
WARN IF Count > 0 IN SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage < 95
WARN IF Count > 0 IN SELECT METHODS WHERE IsPublic AND IsInOlderBuild AND WasRemoved
Vấn đề chính là kết quả mã số bảo hiểm tập tin đó MSTest sản xuất có định dạng nhị phân. Tuy nhiên, giả định rằng mọi thứ đã không thay đổi quá nhiều trong VS2010, bạn sẽ có thể sử dụng tiện ích này để chuyển đổi nó thành một tập tin XML:
http://codeexperiment.com/file.axd?file=2008%2f9%2fCodeCoverageConverter.zip
Chú ý: Bạn có thể sẽ cần phải biên dịch lại nó chống lại phiên bản VS2010 của 'Microsoft.VisualStudio.Coverage.Analysis.dll.
Sau đó, bạn có thể sử dụng phương pháp phân tích cú pháp ưa thích của mình là tệp XML, thực hiện các phép tính cho từng hội đồng được thiết lập để tính toán tỷ lệ phủ sóng tổng thể. Các XPath bạn quan tâm (ít nhất là cho VS2008) là:
/CoverageDSPriv/Module/LinesCovered
/CoverageDSPriv/Module/LinesNotCovered
Nếu bạn muốn làm điều đó bước cuối cùng trong tinh khiết MSBuild, sau đó là 'XmlRead' và nhiệm vụ 'Toán' chứa trong MSBuild Nhiệm vụ cộng đồng thư viện nên là đủ:
http://msbuildtasks.tigris.org/
một khi bạn có tỷ lệ tổng thể trong một tài sản MSBuild, sau đó bạn chỉ cần sử dụng một công việc có điều kiện để phá vỡ build nếu con số đó thấp hơn ngưỡng mong muốn của bạn.
<Error Condition=" $(CodeCoverageRatio) < $(MinCodeCoverage) "
Text="Code Coverage is below required threshold." />
Câu hỏi cổ, nhưng không được đánh dấu là đã trả lời. Hãy xem this
- 1. Làm cách nào để chạy Kiểm tra Web trong khi xây dựng nhóm (cho TFS 2010)?
- 2. Làm thế nào để tích hợp các thử nghiệm NUnit vào một TFS 2010 xây dựng
- 3. Tự động xây dựng TFS 2010 - Kích hoạt phạm vi mã
- 4. Làm thế nào để xây dựng chuỗi TFS?
- 5. Nunit và mã bảo hiểm cho C#
- 6. Tùy chỉnh Bản tóm tắt Xây dựng TFS 2010
- 7. Bất kỳ .net Mã Bảo hiểm Plugin cho Visual Studio 2010?
- 8. Làm thế nào để bỏ qua mã được tạo ra từ dữ liệu mã bảo hiểm
- 9. TFS 2010 và "xây dựng một lần, triển khai nhiều"
- 10. TFS 2010 xây dựng cấu hình chuyển đổi vấn đề
- 11. Máy chủ tự động xây dựng TFS 2010
- 12. Làm thế nào để không xây dựng TFS dựa trên cảnh báo FXCop
- 13. Công cụ Bảo hiểm Mã cho PHP
- 14. Làm thế nào để xây dựng một dự án VSF010 MakeFile (vcxproj) với TFS Build (No VS 2010)
- 15. Công cụ Bảo hiểm Mã cho Scala
- 16. Làm thế nào để thiết lập bảo hiểm mã runner Karma?
- 17. Git và TFS tích hợp cho TFS Xây dựng
- 18. Làm cách nào để bật Phạm vi mã trong các Bản dựng trong TFS?
- 19. nâng cấp TFS 2010 và TFS 2012 RC lên TFS 2012 final
- 20. Java - Mã số Bảo hiểm
- 21. TFS 2010 - Triển khai cho nhiều máy chủ sau khi xây dựng
- 22. Xây dựng Tfs không thành công
- 23. Bảo hiểm mã của Emma cho thử nghiệm JUnit android
- 24. Xây dựng Perl, thử nghiệm đơn vị, mã bảo hiểm: Một ví dụ làm việc hoàn chỉnh
- 25. java.lang.RuntimeException: Stub! - Bảo hiểm mã Android?
- 26. TFS 2010 API, xác định máy chủ xây dựng nào đang chạy.
- 27. Bjam để phân tích bảo hiểm gcov?
- 28. Làm thế nào để tạo một thư mục trống trên xây dựng trong Visual Studio 2010?
- 29. Có thể sao chép tệp trong tfs 2010 xây dựng quy trình mẫu không?
- 30. Bảo hiểm mã JavaScript với Jasmine