.NET

การทดสอบแบบบูรณาการ

WebApplicationFactory, TestServer, การทดสอบฐานข้อมูล, การทดสอบ HTTP client, test fixtures

18 คำถามสัมภาษณ์·
Mid-Level
1

WebApplicationFactory ใน ASP.NET Core คืออะไร?

คำตอบ

WebApplicationFactory เป็นคลาสที่จัดเตรียมโดยแพ็กเกจ Microsoft.AspNetCore.Mvc.Testing ที่ช่วยให้สามารถสร้าง test server แบบ in-memory สำหรับการทดสอบแบบบูรณาการ มันเริ่มต้นแอปพลิเคชัน ASP.NET Core พร้อม dependency ทั้งหมดโดยไม่ต้องมีการ deploy จริง ทำให้การทดสอบรวดเร็วและแยกอิสระ แนวทางนี้ได้รับการแนะนำเพราะทดสอบแอปพลิเคชันในสภาพแวดล้อมที่ใกล้เคียงกับ production ในขณะที่หลีกเลี่ยงต้นทุนการตั้งค่าเซิร์ฟเวอร์จริง

2

ข้อได้เปรียบหลักของการใช้ WebApplicationFactory แทนเซิร์ฟเวอร์ HTTP จริงในการทดสอบแบบบูรณาการคืออะไร?

คำตอบ

WebApplicationFactory สร้าง test server แบบ in-memory ซึ่งกำจัด network latency และต้นทุนการ deploy พร้อมทั้งให้การควบคุมการกำหนดค่าอย่างเต็มที่ การทดสอบทำงานเร็วขึ้นมากเพราะไม่มีการสื่อสารผ่านเครือข่ายจริงหรือกระบวนการแยกที่ต้องจัดการ นอกจากนี้ยังสามารถแทนที่ service ผ่าน ConfigureTestServices ได้ ซึ่งช่วยให้การแยกการทดสอบและการจำลองสถานการณ์ต่าง ๆ ง่ายขึ้นโดยไม่ต้องใช้โครงสร้างพื้นฐานภายนอก

3

ความแตกต่างระหว่าง unit test และ integration test ใน ASP.NET Core คืออะไร?

คำตอบ

Unit test แยกและทดสอบโค้ดหน่วยเดียว (เมธอด, คลาส) โดยการ mock dependency ทั้งหมด ในขณะที่ integration test ตรวจสอบว่าหลายคอมโพเนนต์ทำงานร่วมกันได้อย่างถูกต้อง รวมถึงฐานข้อมูล middleware และ service จริง Unit test เร็วกว่าและง่ายกว่าแต่ไม่ตรวจจับปัญหาการบูรณาการ ในขณะที่ integration test ช้ากว่าแต่ตรวจสอบพฤติกรรมโดยรวมของแอปพลิเคชัน กลยุทธ์ที่สมดุลจะรวมทั้งสองแนวทางเข้าด้วยกัน

4

ต้องใช้แพ็กเกจ NuGet ใดเพื่อใช้ WebApplicationFactory ในการทดสอบแบบบูรณาการ?

5

จะสร้าง HTTP client เพื่อทดสอบ API ด้วย WebApplicationFactory ได้อย่างไร?

+15 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ .NET อื่นๆ

พื้นฐาน C#

Junior
25 คำถาม

LINQ & Delegates

Junior
20 คำถาม

พื้นฐานสำคัญของภาษา C#

Junior
15 คำถาม

พื้นฐาน ASP.NET Core

Junior
18 คำถาม

วงจรชีวิตของ request ใน ASP.NET Core

Junior
20 คำถาม

Configuration & Settings

Junior
20 คำถาม

วงจรชีวิตของแอปพลิเคชัน

Junior
20 คำถาม

Dependency Injection

Mid-Level
24 คำถาม

Entity Framework Core

Mid-Level
25 คำถาม

Minimal APIs

Mid-Level
18 คำถาม

การพัฒนา Web API

Mid-Level
22 คำถาม

Async ใน ASP.NET Core

Mid-Level
20 คำถาม

Authentication & Authorization

Mid-Level
18 คำถาม

HttpClient & Networking

Mid-Level
20 คำถาม

การซีเรียลไลซ์ JSON

Mid-Level
20 คำถาม

Entity Framework Core ขั้นสูง

Mid-Level
25 คำถาม

ฟีเจอร์ขั้นสูงของ C#

Mid-Level
20 คำถาม

Clean Architecture

Mid-Level
20 คำถาม

Logging, Monitoring & Observability

Mid-Level
22 คำถาม

Unit Testing และ xUnit

Mid-Level
20 คำถาม

Docker & Containerization

Mid-Level
16 คำถาม

การจัดการแพ็กเกจ NuGet

Mid-Level
16 คำถาม

Memory Management & GC

Senior
22 คำถาม

การเขียนโปรแกรมแบบรีแอกทีฟ

Senior
24 คำถาม

Async/await และรูปแบบ

Senior
26 คำถาม

.NET Design Patterns

Senior
24 คำถาม

การเพิ่มประสิทธิภาพการทำงาน

Senior
22 คำถาม

ความปลอดภัยและ Best Practices

Senior
24 คำถาม

SignalR และเรียลไทม์

Senior
22 คำถาม

สถาปัตยกรรม Microservices

Senior
25 คำถาม

เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี