ดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องได้รับพื้นฐานของการทดสอบหน่วยตั้งแต่เนิ่น ๆ ในขั้นตอนการพัฒนาของคุณ เพื่อหลีกเลี่ยงเส้นโค้งการเรียนรู้เมื่อต้องรับมือกับโค้ดเบสที่กว้างขวาง
ในบทช่วยสอนนี้ เราจะแนะนำคุณเกี่ยวกับเฟรมเวิร์กของการทดสอบหน่วยโดยใช้ C# และไลบรารีการทดสอบ MSTest เราจะสร้างแอปพลิเคชันพื้นฐานที่จะช่วยให้คุณเรียนรู้วิธีสร้างการทดสอบหน่วย วิธีดำเนินการ และวิธีตีความผลลัพธ์จากความล้มเหลวหรือความสำเร็จของการทดสอบ
สภาพแวดล้อมการทดสอบ
ให้เราเริ่มต้นด้วยการพูดคุยถึงโซลูชันการทดสอบและวิธีกำหนดค่าแอปพลิเคชันพื้นฐานของเรา
หากต้องการติดตามและทำซ้ำแอปพลิเคชันในบทช่วยสอนนี้ ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- ติดตั้ง Visual Studio แล้ว
- กำหนดค่าเครื่องมือ .NET และ C# บนเครื่องของคุณ
สร้างแอปพลิเคชัน
จากนั้น เปิด Visual Studio และสร้างโซลูชันใหม่ สำหรับบทช่วยสอนนี้ เราจะสร้างแอปพลิเคชันเครื่องคิดเลขพื้นฐาน คุณสามารถให้ใบสมัครด้วยชื่อใดก็ได้ที่คุณต้องการ
จากนั้น สร้างโปรเจ็กต์ใหม่และเลือกประเภทโปรเจ็กต์เป็น MSTest Test Project และตั้งชื่อที่ต้องการ
ตรวจสอบให้แน่ใจว่าได้เลือก 'เพิ่มไปยังโซลูชัน' และเลือกแอปที่สร้างไว้ก่อนหน้านี้
คุณควรมีแอปพลิเคชันหลักและโครงการทดสอบหน่วยตามที่แสดงในตัวสำรวจโซลูชัน
เขียนโค้ดสำหรับแอปพลิเคชันเครื่องคิดเลข
ขั้นตอนต่อไปคือการเขียนโค้ดสำหรับแอปพลิเคชันเครื่องคิดเลขของเรา เราสามารถทำได้ในไฟล์ CalcApp “program.cs”
เนื่องจากเรากำลังมองหาฟังก์ชันพื้นฐาน เราจึงสามารถเพิ่มซอร์สโค้ดได้ดังนี้:
เครื่องคิดเลขชั้นเรียนสาธารณะ{
สาธารณะ สองเท่า เพิ่ม ( สองเท่า ก , สองเท่า ข )
{
กลับ ก + ข ;
}
สาธารณะ สองเท่า ลบ ( สองเท่า ก , สองเท่า ข )
{
กลับ ก - - ข ;
}
สาธารณะ สองเท่า คูณ ( สองเท่า ก , สองเท่า ข )
{
กลับ ก * ข ;
}
สาธารณะ สองเท่า แบ่ง ( สองเท่า ก , สองเท่า ข )
{
ถ้า ( ข == 0 )
โยน DivideByZeroException ใหม่ ( ) ;
กลับ ก / ข ;
}
}
ตามที่คุณสามารถเดาได้ โค้ดก่อนหน้านี้จะสร้างแอปเครื่องคิดเลขที่สามารถใช้งานแอปพลิเคชันทางคณิตศาสตร์พื้นฐานได้
เขียนแบบทดสอบหน่วย
เมื่อเสร็จแล้ว เราก็สามารถเขียนการทดสอบหน่วยสำหรับคลาส 'เครื่องคิดเลข' ได้ ในกรณีนี้ สิ่งที่เราต้องทำคือเขียนการทดสอบลงในไฟล์ “UnitTest” ของโครงการดังนี้:
โดยใช้ระบบ ;เนมสเปซ CalcApp
{
เครื่องคิดเลขชั้นเรียนสาธารณะ
{
สาธารณะ สองเท่า เพิ่ม ( สองเท่า ก , สองเท่า ข )
{
กลับ ก + ข ;
}
สาธารณะ สองเท่า ลบ ( สองเท่า ก , สองเท่า ข )
{
กลับ ก - - ข ;
}
สาธารณะ สองเท่า คูณ ( สองเท่า ก , สองเท่า ข )
{
กลับ ก * ข ;
}
สาธารณะ สองเท่า แบ่ง ( สองเท่า ก , สองเท่า ข )
{
ถ้า ( ข == 0 )
โยน DivideByZeroException ใหม่ ( ) ;
กลับ ก / ข ;
}
}
}
เนมสเปซ CalcTest
{
[ คลาสทดสอบ ]
การทดสอบเครื่องคิดเลขในชั้นเรียนสาธารณะ
{
เครื่องคิดเลขเครื่องคิดเลขส่วนตัว ;
[ ทดสอบเริ่มต้น ]
สาธารณะ เป็นโมฆะ ติดตั้ง ( )
{
เครื่องคิดเลข = เครื่องคิดเลขใหม่ ( ) ;
}
[ วิธีทดสอบ ]
สาธารณะ เป็นโมฆะ Add_TwoPositiveNumbers_ReturnsCorrectSum ( )
{
คือผลลัพธ์ = เครื่องคิดเลข เพิ่ม ( 5 , 5 ) ;
ยืนยัน. มีความเท่าเทียมกัน ( 10 , ผลลัพธ์ ) ;
}
[ วิธีทดสอบ ]
สาธารณะ เป็นโมฆะ Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
คือผลลัพธ์ = เครื่องคิดเลข ลบ ( 10 , 5 ) ;
ยืนยัน. มีความเท่าเทียมกัน ( 5 , ผลลัพธ์ ) ;
}
[ วิธีทดสอบ ]
สาธารณะ เป็นโมฆะ Multiply_TwoPositiveNumbers_ReturnsCorrectProduct ( )
{
คือผลลัพธ์ = เครื่องคิดเลข คูณ ( 5 , 5 ) ;
ยืนยัน. มีความเท่าเทียมกัน ( 25 , ผลลัพธ์ ) ;
}
[ วิธีทดสอบ ]
[ ข้อยกเว้นที่คาดหวัง ( ประเภทของ ( DivideByZeroException ) ) ]
สาธารณะ เป็นโมฆะ Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
คือผลลัพธ์ = เครื่องคิดเลข แบ่ง ( 5 , 0 ) ;
}
[ วิธีทดสอบ ]
สาธารณะ เป็นโมฆะ หาร_สองตัวเลขบวก_ผลตอบแทนที่ถูกต้อง ( )
{
คือผลลัพธ์ = เครื่องคิดเลข แบ่ง ( 10 , 5 ) ;
ยืนยัน. มีความเท่าเทียมกัน ( 2 , ผลลัพธ์ ) ;
}
}
}
บทสรุป
นี่คือบทช่วยสอนพื้นฐานที่ครอบคลุมพื้นฐานของการทดสอบหน่วยใน C# โดยใช้เฟรมเวิร์ก MSTest