ฉันสามารถใช้อะไรเพื่อความครอบคลุมรหัสคุณภาพดีสำหรับ C # /. NET [ปิด]


415

ฉันสงสัยว่ามีตัวเลือกใดบ้างสำหรับการครอบคลุมโค้ด. NET (หรือ C # โดยเฉพาะ) โดยเฉพาะในเซ็กเมนต์ที่มีราคาต่ำกว่า

ฉันไม่ได้มองหาคำแนะนำ แต่สำหรับการเปรียบเทียบผลิตภัณฑ์ตามข้อเท็จจริง ฉันรู้ดังต่อไปนี้:

  • NCover
    • ดูเหมือนจะเป็นที่นิยมมากและดูดีมาก
    • รองรับคำสั่งครอบคลุมและสาขาครอบคลุม
    • $ 480 สำหรับ "NCover 3 Complete"
    • รุ่นเบต้าที่เก่ากว่านั้นมีให้ฟรี
  • Visual Studio (2008 Pro) | (ระบบทีม 2005 (การพัฒนาการทดสอบหรือรุ่นทีม Suite))
    • เป็น Microsoft ดังนั้นฉันคาดหวังให้ทำงานได้อย่างถูกต้อง
    • รวมเข้ากับ Visual Studio อย่างสมบูรณ์
    • อย่างน้อย $ 5,469
  • PartCover - ไม่มีการพัฒนาเพิ่มเติม (ย้ายไปที่ OpenCover)
    • โอเพ่นซอร์ส
    • รองรับการครอบคลุมคำสั่ง
  • OpenCover - ทำต่อไปที่ PartCover
  • ครอบคลุมการทดสอบ SD
    • ใช้ได้กับ 32 และ 64 บิตเต็มรูปแบบ C # 4.0
    • จัดการทั้งรหัสฐานขนาดเล็กและใหญ่มาก
    • $ 250 สำหรับใบอนุญาตผู้ใช้รายเดียว
  • JetBrains dotCover
    • $ 100 สำหรับสิทธิ์ใช้งานส่วนบุคคล ฟรีสำหรับกลุ่มผู้ใช้โครงการโอเพ่นซอร์สนักเรียนและครู
    • รองรับการครอบคลุมคำสั่ง
    • รองรับ Silverlight
  • NCrunch

    • $ 159 สำหรับสิทธิ์ใช้งานส่วนบุคคล
    • $ 289 สำหรับใบอนุญาตที่นั่งในเชิงพาณิชย์ * ฟรีระหว่างเบต้าจะกลายเป็นเชิงพาณิชย์, การกำหนดราคาที่ไม่รู้จัก ไม่รู้จักอนาคต
    • ตัวบ่งชี้ความครอบคลุมรหัสใน Visual Studio
    • การทดสอบอย่างต่อเนื่อง (ใกล้เวลาจริง)
    • ความครอบคลุมโค้ดต่อการทดสอบด้วยสายตา
    • ตัวชี้วัดประสิทธิภาพการดำเนินการทดสอบแบบมัลติคอร์ขนาน
  • NDepend

    • $ 410สำหรับลิขสิทธิ์นักพัฒนาซอฟต์แวร์
    • NDepend สามารถนำเข้าข้อมูลความครอบคลุมจาก NCover, DotCover, Visual Studio 2017; 2015, 2013, 2012, 2010 และ 2008 ไฟล์ครอบคลุมรหัส
    • กราฟการพึ่งพา
    • เมทริกซ์โครงสร้างการพึ่งพา
    • การแสดงผลการวัดรหัส
    • ตรวจสอบกฎรหัส

คำถามซ้ำแล้วในsoftwarerecs.stackexchange.com/questions/123/... สามารถโยกย้ายและรวมเข้าด้วยกันได้หรือไม่
Michael Freidgeim

ฉันไม่เห็น AxoCover พูดถึงที่นี่มันฟรีและใช้งานได้ดีทีเดียว IMO: https://marketplace.visualstudio.com/items?itemName=axodox1.AxoCover
Brad Albright

คำตอบ:


72

ผมใช้รุ่นของ NCover ที่มาพร้อมกับTestDriven.NET มันจะช่วยให้คุณคลิกขวาบนไลบรารีคลาสทดสอบหน่วยของคุณและกดTest With → Coverageและกดดึงรายงาน


5
ต้องรัก TestDriven.NET; อย่างที่มันเกิดขึ้นฉันใช้ VSTS แต่ฉันมักจะใช้ NUnit (ไม่ใช่ MSTes) และใช้ TestDriven.NET เพื่อ "ทดสอบด้วย -> ความครอบคลุมของทีม" ซึ่งใช้เครื่องมือครอบคลุมของ MSTest (รวมถึงการปรับสี) ด้วยการทดสอบ NUnit ของฉัน น่าอัศจรรย์
Marc Gravell

นี่คือสิ่งที่ฉันใช้เช่นกัน - จนกว่าฉันจะย้ายแอพของฉันไปเป็น
64 บิต

ยังใช้งานไม่ได้กับ. NET core
Mariusz Jamro

46

ทางเลือกในการ NCover สามารถPartCoverเป็นโอเพนซอร์สเครื่องมือคุ้มครองรหัสสำหรับ NET คล้ายกันมากกับ NCover มันรวมถึงโปรแกรมประยุกต์คอนโซล, เบราว์เซอร์คุ้มครอง GUI และแปลง XSL สำหรับใช้ในCruiseControl.NET

มันเป็นผลิตภัณฑ์ที่น่าสนใจมาก

OpenCoverได้เปลี่ยน PartCover แล้ว


12
PartCover ได้ถูกแทนที่ด้วย OpenCover เป็นหลัก ( github.com/sawilde/opencover ) เนื่องจาก PartCover ซบเซาด้วยการสนับสนุนสำหรับ. NET 2 เท่านั้น
David Keaveny

18

JetBrains (จากReSharperชื่อเสียง) ได้รับการทำงานเกี่ยวกับเครื่องมือที่มีความคุ้มครองสำหรับเล็ก ๆ น้อย ๆ ในขณะที่เรียกว่าdotCover มันแสดงสัญญามากมาย


6
dotCover เปิดตัวและวางจำหน่ายตั้งแต่เดือนกันยายน 2553: jetbrains.com/dotcover
Jura Gorohovsky

2
dotCover เป็นส่วนหนึ่งของ TeamCity โดยไม่ต้องมีใบอนุญาตส่วนบุคคลเพิ่มเติม
Oskar Austegard

15

ฉันเพิ่งทดสอบNCrunchและต้องบอกว่าฉันประทับใจมาก เป็นเครื่องมือทดสอบอย่างต่อเนื่องที่จะเพิ่มการครอบคลุมโค้ดให้กับโค้ดของคุณใน Visual Studio แบบเรียลไทม์ ในขณะที่ฉันเขียน NCrunch นี้ฟรี มันเป็นเพียงเล็กน้อยที่ไม่มีความชัดเจนว่ามันจะได้รับฟรีเงินค่าใช้จ่ายหรือจะเปิดแหล่งที่มาในอนาคตแม้ว่า


4
ไม่ฟรี ณ 3/20/2557

4

TestCocoonก็ค่อนข้างดี มันอยู่ในการพัฒนาที่ใช้งานอยู่และมีชุมชนผู้ใช้:

  • โอเพ่นซอร์ส (GPL 3)
  • รองรับ C / C ++ / C # cross platform (Linux, Windows และ Mac)
  • CoverageScanner - เครื่องมือวัดระหว่างรุ่น
  • CoverageBrowser - มุมมองการวิเคราะห์และการจัดการผลลัพธ์ของการครอบคลุมรหัส

อย่างไรก็ตาม TestCocoon ไม่ได้รับการพัฒนาอีกต่อไปและผู้สร้างจะผลิตซอฟต์แวร์เชิงพาณิชย์สำหรับ C / C ++


1
TestCocoon ถูกเปลี่ยนชื่อเป็นSquish Cocoเมื่อพัฒนาหลัก (และ TestCocoon) เข้าร่วมfroglogic Squish Coco รีลีสปัจจุบันยังรองรับ C #
Frerich Raabe

3

นอกจากนี้ก่อนวางจำหน่าย (เบต้า) รุ่นNCover ใช้ได้ฟรี พวกเขาทำงานได้ดีสำหรับกรณีส่วนใหญ่โดยเฉพาะอย่างยิ่งเมื่อรวมกับ NCoverExplorer


10
ดูเหมือนจะไม่สามารถใช้งานได้อีกต่อไป ...
David d C e Freitas

2

ฉันไม่แน่ใจว่าสิ่งที่แตกต่างกับ NCover ค้าปลีก แต่ยังมีโครงการ NCover บน SourceForgeที่แน่นอนว่าเป็นโอเพ่นซอร์สและฟรี


2
เวอร์ชันของ Sourceforge เป็นพื้นฐานสำหรับ NCover เวอร์ชันปัจจุบัน มันไม่ได้ทำงานอย่างแข็งขัน / สนับสนุนอีกต่อไป แต่ยังคงมีอยู่อย่างกว้างขวาง พวกเขาเป็นเวอร์ชั่น 3.0 แล้ว
Valien

1

ดูเครื่องมือครอบคลุมการทดสอบ C #จาก บริษัท ของฉันแบบความหมาย:

มันมีค่าใช้จ่ายที่ต่ำมากจัดการกับระบบไฟล์ขนาดใหญ่, GUI ที่ใช้งานง่าย, ความครอบคลุมในไฟล์ที่เฉพาะเจาะจง, และรายงานที่สร้างขึ้นโดยมีการแบ่งความครอบคลุมที่วิธีการระดับและแพคเกจระดับ


เนื่องจากนี่เป็นผลิตภัณฑ์เชิงพาณิชย์คุณควรระบุราคา: D
John Nicholas

ราคาจะปรากฏเด่นชัดในสรุปผลในคำถามที่เริ่มหัวข้อนี้
Ira Baxter


1

เครื่องมือครอบคลุมการทดสอบ C #มีค่าใช้จ่ายต่ำมากจัดการกับระบบไฟล์ขนาดใหญ่ GUI ที่ใช้งานง่ายแสดงการครอบคลุมในไฟล์ที่เฉพาะเจาะจงและรายงานที่สร้างขึ้นโดยมีรายละเอียดความครอบคลุมในระดับชั้นและระดับแพ็คเกจ


0

ฟีเจอร์การครอบคลุมโค้ดรวมถึง API ที่สามารถตั้งโปรแกรมได้นั้นมาพร้อมกับ Visual Studio 2010 น่าเสียดายที่มีเพียงสองรุ่นที่มีความสามารถในการครอบคลุมโค้ดทั้งหมดเท่านั้นคือ Premium และ Ultimate อย่างไรก็ตามฉันเชื่อว่า API จะพร้อมใช้งานในทุกรุ่นดังนั้นการสร้างไฟล์การครอบคลุมโค้ดและการเขียนวิวเวอร์สำหรับข้อมูลความครอบคลุมน่าจะเป็นไปได้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.