แบบฝึกหัด - ใช้ข้อมูลทดสอบเพื่อแสดงปัญหาตรรกะในแอปพลิเคชันคอนโซล C#
วิธีการ MakeChange สามารถประมวลผลธุรกรรมจําลองได้สําเร็จเมื่อใช้ testData อาร์เรย์ อย่างไรก็ตาม จะมีการแสดงปัญหาเชิงตรรกะเมื่อจําลองธุรกรรมโดยใช้ชุดข้อมูลที่มีขนาดใหญ่กว่าของรายการที่มีราคาแบบสุ่ม ปัญหานี้แสดงให้เห็นถึงความสําคัญของการทดสอบแอปพลิเคชันของคุณอย่างละเอียด
สเปค
ในแบบฝึกหัดการทดสอบนี้ คุณจําเป็นต้องกําหนดค่าตัวแปรที่ใช้ในการจําลองธุรกรรมและตรวจสอบว่ารายงานธุรกรรมประกอบด้วยความขัดแย้งที่คาดไว้หรือไม่
ข้อกําหนดต่อไปนี้จะนําไปใช้กับธุรกรรมจําลอง:
- รายงานระดับบนสุดจะจําลองธุรกรรมโดยใช้ต้นทุนสินค้าที่สร้างขึ้นแบบสุ่ม
- คําสั่งระดับบนสุดจะสร้างค่าสุ่มสําหรับ
itemCostในช่วง2 - 49 - รายงานระดับบนสุดจะจําลองธุรกรรม 100 รายการ
เอาต์พุตธุรกรรมที่รายงานต้องมี
- ระเบียนของทรานงานที่พยายามทํา 100 รายการ
- อินสแตนซ์ของข้อความที่ระบุว่า: "ไม่สามารถทําธุรกรรมได้: InvalidOperationException: มีเงินไม่เพียงพอที่จะทําธุรกรรมให้เสร็จสมบูรณ์"
- อินสแตนซ์ของข้อความที่ระบุว่า: "ไม่สามารถทําธุรกรรม: InvalidOperationException: จนกว่าจะไม่สามารถเปลี่ยนแปลงเงินสดที่ให้มาได้"
- ความขัดแย้งระหว่างค่าลิ้นชักรับของที่รายงาน
ตรวจสอบงานของคุณ
หากต้องการตรวจสอบว่าแอปพลิเคชันของคุณสร้างผลลัพธ์ที่คาดหวังเมื่อใช้งานข้อกําหนดการจําลองที่ระบุให้ทําตามขั้นตอนต่อไปนี้:
ตรวจสอบให้แน่ใจว่าโฟลเดอร์ ChallengeProject เปิดอยู่ในรหัส Visual Studio
ในมุมมอง EXPLORER ให้ขยายโฟลเดอร์ ChallengeProject และ Starter
โฟลเดอร์ Starter ประกอบด้วยแอปพลิเคชันตัวอย่างสําหรับโมดูลโครงการที่แนะนํานี้
เปิดไฟล์ Program.cs ใน Visual Studio Code Editor
กําหนดค่าดีบักสภาพแวดล้อมและเปิดใช้งานการกําหนดค่า
กําหนดค่าแอพลิเคชันเพื่อใช้
testDataอาร์เรย์ สําหรับธุรกรรมจําลอง (useTestData = true)รันแอปพลิเคชันในเซสชันการดีบัก
ตรวจสอบว่าค่าจนกว่า "รายงาน" และ "ที่คาดไว้" จะเท่ากันในรายงานธุรกรรมที่สร้างขึ้นโดยแอปพลิเคชัน
กําหนดค่าตัวแปรแอพลิเคชันเพื่อตอบสนองความต้องการจําลองในส่วน ข้อมูลจําเพาะ
รันแอปพลิเคชันในเซสชันการดีบัก
ตรวจสอบว่าแอปพลิเคชันของคุณเป็นไปตามข้อกําหนดเอาต์พุตต่อไปนี้:
รายงานธุรกรรมประกอบด้วยเรกคอร์ดของธุรกรรมที่พยายามทํา 100 รายการ
รายงานธุรกรรมจะรวมความขัดแย้งระหว่างค่าลิ้นชักรับของที่รายงาน
รายงานธุรกรรมรวมถึงอินสแตนซ์ของข้อความต่อไปนี้
Could not make transaction: InvalidOperationException: Not enough money provided to complete the transaction.Could not make transaction: InvalidOperationException: The till is unable to make change for the cash provided.
หลังจากที่คุณได้ตรวจสอบผลลัพธ์สําหรับแบบฝึกหัดนี้แล้ว ให้ดําเนินการแบบฝึกหัดถัดไปในการทดสอบนี้