2014-10-13 25 views
5

Sử dụng khung kiểm tra đơn vị C++ với Visual Studio 2013 Professional, người ta có thể viết kiểm thử đơn vị và chạy chúng từ bên trong IDE, nhưng để tạo ra bất kỳ báo cáo bảo hiểm nào, một trong những cần phải có phiên bản Premium hoặc Ultimate của Visual Studio.Báo cáo Phạm vi Mã với Visual Studio 2013 Professional dành cho native C++

Có thể nhận báo cáo về mức độ phù hợp mã với ấn bản Chuyên nghiệp hay không, tốt nhất là không cài đặt bất kỳ công cụ của bên thứ ba nào? Nếu không, lựa chọn thay thế nào tồn tại đối với những người không sử dụng các phiên bản đắt tiền hơn của IDE?

Xin lưu ý rằng có thể tạo dữ liệu bảo hiểm bằng cách sử dụng các công cụ dòng lệnh, nhưng tôi không thể tìm thấy cách để xem kết quả. Vì lợi ích của tài liệu tham khảo, đây là các bước để tạo dòng lệnh của số liệu thống kê bảo hiểm:

  1. Xây dựng mã để thử nghiệm với với /PROFILE linker switch
  2. Run vsinstr /coverage <binaryName> để công cụ mã; hãy chắc chắn rằng bạn đang ở trong VS 2013 command prompt
  3. Run start vsperfmon -coverage -output:results để chạy profiler
  4. Chạy đơn vị của bạn kiểm tra
  5. Dừng các hồ sơ bằng cách chạy vsperfcmd -shutdown

trên sẽ cung cấp cho bạn một results.coverage tập tin, không có cách nào để xem nó mà không có phiên bản Premium hoặc Ultimate theo như tôi biết.

Trả lời

7

Với VS2013 Professional bạn đang trên may mắn nếu bạn muốn làm điều đó mà không cần công cụ của bên thứ ba Requirements: Visual Studio Ultimate, Visual Studio Premium (http://msdn.microsoft.com/en-us/library/dd537628.aspx). Từ những gì tôi hiểu bạn đã quản lý để tạo tệp * .coverage của bạn và bạn đang gặp sự cố khi mở tệp. Công cụ bảo vệ hình ảnh (https://github.com/jsargiot/visual-coverage) có thể giúp bạn với điều đó, nó rất đơn giản để sử dụng và nó là mã nguồn mở. Nếu bạn muốn tìm thêm lựa chọn thay thế, hãy xem một chuỗi SO khác: Viewing Code Coverage Results outside of Visual studio. Các công cụ có nghĩa là cho các tập tin bảo hiểm C# nhưng từ những gì tôi hiểu không nên có bất kỳ sự khác biệt.

+1

Cái gọi là công cụ mở rộng 'Visual Coverage' không bao gồm hai MS DLL, mà ** tôi tin ** không mở để phân phối lại. Công cụ 'ReportGenerator' yêu cầu dữ liệu phủ sóng XML, không có sẵn bên ngoài Premium và Ultimate, tôi tin. – Jaywalker

1

Một cách có thể bạn có thể nhận được dữ liệu vùng phủ sóng là chạy bộ công cụ thiết bị trên chương trình Thử nghiệm đơn vị chương trình của bạn. Công cụ thiết bị sẽ cho bạn biết số tiền đã được chi trả trong quá trình thực thi và bạn có thể dễ dàng liên kết dữ liệu này với mức độ bao phủ mà các bài kiểm tra đơn vị của bạn cung cấp cho bạn. Tôi đã làm điều này với một dự án XCode và OpenPAT nhưng bạn có thể làm tương tự với bất kỳ bộ công cụ thân thiện với Visual Studio nào.

+0

Có bất kỳ "bộ công cụ thân thiện với Visual Studio" đã biết không? – Jaywalker

+0

Trong một dự án tôi đã sử dụng công cụ lược tả này http://www.glowcode.com/summary.htm. Thật không may tôi đã không tìm thấy bất cứ điều gì giống như OpenPAT hoặc Valgrind cho các cửa sổ. – BlamKiwi

3

Nếu bạn đã sẵn sàng sử dụng thư viện của bên thứ ba, bạn có thể sử dụng OpenCPPCoverage. Nó hoạt động cho tôi như một ứng dụng dòng lệnh. Nhưng tôi không thể chạy nó giống như một plugin studio trực quan tại chuyên nghiệp Visual Studio 2013.

+2

Vâng, tính đến hôm nay bạn * có thể * sử dụng nó như một plugin Visual Studio (Cộng đồng +); Tôi vừa hoàn thành triển khai và quyết định chia sẻ: https://github.com/atlaste/VSOpenCPPCoverage. Hoạt động out-of-the-box với MSTest và thực thi tùy chỉnh (mà về cơ bản là những gì tôi sử dụng :) – atlaste

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