
การทดสอบแบบบูรณาการ
WebApplicationFactory, TestServer, การทดสอบฐานข้อมูล, การทดสอบ HTTP client, test fixtures
1WebApplicationFactory ใน ASP.NET Core คืออะไร?
WebApplicationFactory ใน ASP.NET Core คืออะไร?
คำตอบ
WebApplicationFactory เป็นคลาสที่จัดเตรียมโดยแพ็กเกจ Microsoft.AspNetCore.Mvc.Testing ที่ช่วยให้สามารถสร้าง test server แบบ in-memory สำหรับการทดสอบแบบบูรณาการ มันเริ่มต้นแอปพลิเคชัน ASP.NET Core พร้อม dependency ทั้งหมดโดยไม่ต้องมีการ deploy จริง ทำให้การทดสอบรวดเร็วและแยกอิสระ แนวทางนี้ได้รับการแนะนำเพราะทดสอบแอปพลิเคชันในสภาพแวดล้อมที่ใกล้เคียงกับ production ในขณะที่หลีกเลี่ยงต้นทุนการตั้งค่าเซิร์ฟเวอร์จริง
2ข้อได้เปรียบหลักของการใช้ WebApplicationFactory แทนเซิร์ฟเวอร์ HTTP จริงในการทดสอบแบบบูรณาการคืออะไร?
ข้อได้เปรียบหลักของการใช้ WebApplicationFactory แทนเซิร์ฟเวอร์ HTTP จริงในการทดสอบแบบบูรณาการคืออะไร?
คำตอบ
WebApplicationFactory สร้าง test server แบบ in-memory ซึ่งกำจัด network latency และต้นทุนการ deploy พร้อมทั้งให้การควบคุมการกำหนดค่าอย่างเต็มที่ การทดสอบทำงานเร็วขึ้นมากเพราะไม่มีการสื่อสารผ่านเครือข่ายจริงหรือกระบวนการแยกที่ต้องจัดการ นอกจากนี้ยังสามารถแทนที่ service ผ่าน ConfigureTestServices ได้ ซึ่งช่วยให้การแยกการทดสอบและการจำลองสถานการณ์ต่าง ๆ ง่ายขึ้นโดยไม่ต้องใช้โครงสร้างพื้นฐานภายนอก
3ความแตกต่างระหว่าง unit test และ integration test ใน ASP.NET Core คืออะไร?
ความแตกต่างระหว่าง unit test และ integration test ใน ASP.NET Core คืออะไร?
คำตอบ
Unit test แยกและทดสอบโค้ดหน่วยเดียว (เมธอด, คลาส) โดยการ mock dependency ทั้งหมด ในขณะที่ integration test ตรวจสอบว่าหลายคอมโพเนนต์ทำงานร่วมกันได้อย่างถูกต้อง รวมถึงฐานข้อมูล middleware และ service จริง Unit test เร็วกว่าและง่ายกว่าแต่ไม่ตรวจจับปัญหาการบูรณาการ ในขณะที่ integration test ช้ากว่าแต่ตรวจสอบพฤติกรรมโดยรวมของแอปพลิเคชัน กลยุทธ์ที่สมดุลจะรวมทั้งสองแนวทางเข้าด้วยกัน
ต้องใช้แพ็กเกจ NuGet ใดเพื่อใช้ WebApplicationFactory ในการทดสอบแบบบูรณาการ?
จะสร้าง HTTP client เพื่อทดสอบ API ด้วย WebApplicationFactory ได้อย่างไร?
+15 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ .NET อื่นๆ
พื้นฐาน C#
LINQ & Delegates
พื้นฐานสำคัญของภาษา C#
พื้นฐาน ASP.NET Core
วงจรชีวิตของ request ใน ASP.NET Core
Configuration & Settings
วงจรชีวิตของแอปพลิเคชัน
Dependency Injection
Entity Framework Core
Minimal APIs
การพัฒนา Web API
Async ใน ASP.NET Core
Authentication & Authorization
HttpClient & Networking
การซีเรียลไลซ์ JSON
Entity Framework Core ขั้นสูง
ฟีเจอร์ขั้นสูงของ C#
Clean Architecture
Logging, Monitoring & Observability
Unit Testing และ xUnit
Docker & Containerization
การจัดการแพ็กเกจ NuGet
Memory Management & GC
การเขียนโปรแกรมแบบรีแอกทีฟ
Async/await และรูปแบบ
.NET Design Patterns
การเพิ่มประสิทธิภาพการทำงาน
ความปลอดภัยและ Best Practices
SignalR และเรียลไทม์
สถาปัตยกรรม Microservices
เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี