แบบฝึกหัด - ใช้ข้อมูลทดสอบเพื่อแสดงปัญหาตรรกะในแอปพลิเคชันคอนโซล C#

เสร็จสมบูรณ์เมื่อ

วิธีการ MakeChange สามารถประมวลผลธุรกรรมจําลองได้สําเร็จเมื่อใช้ testData อาร์เรย์ อย่างไรก็ตาม จะมีการแสดงปัญหาเชิงตรรกะเมื่อจําลองธุรกรรมโดยใช้ชุดข้อมูลที่มีขนาดใหญ่กว่าของรายการที่มีราคาแบบสุ่ม ปัญหานี้แสดงให้เห็นถึงความสําคัญของการทดสอบแอปพลิเคชันของคุณอย่างละเอียด

สเปค

ในแบบฝึกหัดการทดสอบนี้ คุณจําเป็นต้องกําหนดค่าตัวแปรที่ใช้ในการจําลองธุรกรรมและตรวจสอบว่ารายงานธุรกรรมประกอบด้วยความขัดแย้งที่คาดไว้หรือไม่

ข้อกําหนดต่อไปนี้จะนําไปใช้กับธุรกรรมจําลอง:

  • รายงานระดับบนสุดจะจําลองธุรกรรมโดยใช้ต้นทุนสินค้าที่สร้างขึ้นแบบสุ่ม
  • คําสั่งระดับบนสุดจะสร้างค่าสุ่มสําหรับ itemCost ในช่วง2 - 49
  • รายงานระดับบนสุดจะจําลองธุรกรรม 100 รายการ

เอาต์พุตธุรกรรมที่รายงานต้องมี

  • ระเบียนของทรานงานที่พยายามทํา 100 รายการ
  • อินสแตนซ์ของข้อความที่ระบุว่า: "ไม่สามารถทําธุรกรรมได้: InvalidOperationException: มีเงินไม่เพียงพอที่จะทําธุรกรรมให้เสร็จสมบูรณ์"
  • อินสแตนซ์ของข้อความที่ระบุว่า: "ไม่สามารถทําธุรกรรม: InvalidOperationException: จนกว่าจะไม่สามารถเปลี่ยนแปลงเงินสดที่ให้มาได้"
  • ความขัดแย้งระหว่างค่าลิ้นชักรับของที่รายงาน

ตรวจสอบงานของคุณ

หากต้องการตรวจสอบว่าแอปพลิเคชันของคุณสร้างผลลัพธ์ที่คาดหวังเมื่อใช้งานข้อกําหนดการจําลองที่ระบุให้ทําตามขั้นตอนต่อไปนี้:

  1. ตรวจสอบให้แน่ใจว่าโฟลเดอร์ ChallengeProject เปิดอยู่ในรหัส Visual Studio

  2. ในมุมมอง EXPLORER ให้ขยายโฟลเดอร์ ChallengeProject และ Starter

    โฟลเดอร์ Starter ประกอบด้วยแอปพลิเคชันตัวอย่างสําหรับโมดูลโครงการที่แนะนํานี้

  3. เปิดไฟล์ Program.cs ใน Visual Studio Code Editor

  4. กําหนดค่าดีบักสภาพแวดล้อมและเปิดใช้งานการกําหนดค่า

  5. กําหนดค่าแอพลิเคชันเพื่อใช้ testData อาร์เรย์ สําหรับธุรกรรมจําลอง (useTestData = true)

  6. รันแอปพลิเคชันในเซสชันการดีบัก

  7. ตรวจสอบว่าค่าจนกว่า "รายงาน" และ "ที่คาดไว้" จะเท่ากันในรายงานธุรกรรมที่สร้างขึ้นโดยแอปพลิเคชัน

  8. กําหนดค่าตัวแปรแอพลิเคชันเพื่อตอบสนองความต้องการจําลองในส่วน ข้อมูลจําเพาะ

  9. รันแอปพลิเคชันในเซสชันการดีบัก

  10. ตรวจสอบว่าแอปพลิเคชันของคุณเป็นไปตามข้อกําหนดเอาต์พุตต่อไปนี้:

    • รายงานธุรกรรมประกอบด้วยเรกคอร์ดของธุรกรรมที่พยายามทํา 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.
      

หลังจากที่คุณได้ตรวจสอบผลลัพธ์สําหรับแบบฝึกหัดนี้แล้ว ให้ดําเนินการแบบฝึกหัดถัดไปในการทดสอบนี้