
Testing
testing package, test tables, benchmarks, examples, coverage, testify, mocking
1หลักการตั้งชื่อสำหรับไฟล์ test ใน Go คืออะไร?
หลักการตั้งชื่อสำหรับไฟล์ test ใน Go คืออะไร?
คำตอบ
ใน Go ไฟล์ test ต้องมีคำต่อท้าย _test.go และอยู่ใน package เดียวกันกับโค้ดที่ถูกทดสอบ ตัวอย่างเช่น หากต้องการทดสอบ main.go ให้สร้าง main_test.go หลักการนี้ทำให้คำสั่ง go test ค้นพบไฟล์ test โดยอัตโนมัติโดยไม่ต้องตั้งค่าเพิ่มเติม
2ลายเซ็น (signature) ที่ถูกต้องของฟังก์ชัน test ใน Go คืออะไร?
ลายเซ็น (signature) ที่ถูกต้องของฟังก์ชัน test ใน Go คืออะไร?
คำตอบ
ฟังก์ชัน test ใน Go ต้องขึ้นต้นด้วย Test รับพารามิเตอร์เพียงตัวเดียวชนิด *testing.T และไม่คืนค่าใด ๆ ชื่อต้องขึ้นต้นด้วยตัวพิมพ์ใหญ่เพื่อให้ถูก export ตัวอย่างเช่น func TestAdd(t *testing.T) พารามิเตอร์ t ใช้รายงานความล้มเหลวด้วย t.Error, t.Fail, t.Fatal เป็นต้น
3ความแตกต่างระหว่าง t.Error และ t.Fatal คืออะไร?
ความแตกต่างระหว่าง t.Error และ t.Fatal คืออะไร?
คำตอบ
t.Error ทำเครื่องหมายว่า test ล้มเหลวแต่ยังคงดำเนินการ test ต่อไป ทำให้ตรวจพบข้อผิดพลาดได้หลายรายการ t.Fatal ทำเครื่องหมายว่า test ล้มเหลวและหยุดการดำเนินการของ test ปัจจุบันทันที ใช้ t.Fatal เมื่อเงื่อนไขเบื้องต้นที่สำคัญล้มเหลวและการดำเนินต่อไม่มีความหมาย เช่น setup ล้มเหลวหรือค่า nil ที่ไม่คาดคิด
จะรันเฉพาะ test ที่ชื่อ TestAdd ได้อย่างไร?
table-driven test ใน Go คืออะไร?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Go อื่นๆ
พื้นฐาน Go
โครงสร้างข้อมูล Go
อินเทอร์เฟซใน Go
การจัดการข้อผิดพลาด
พื้นฐาน Goroutine
Channels
Go Modules
เซิร์ฟเวอร์ HTTP
ไคลเอนต์ HTTP
การเข้ารหัส JSON
Database/SQL
แพ็กเกจ context
รูปแบบ Concurrency
ไพรมิทีฟการซิงโครไนซ์
เฟรมเวิร์กเว็บ Go
การออกแบบ REST API
gRPC
Reflection
การจัดการหน่วยความจำ
การเพิ่มประสิทธิภาพการทำงาน
Generics
Go Design Patterns
Microservices
ความปลอดภัยและการยืนยันตัวตน
Docker & Containerization
Kubernetes Basics
Go ขั้นสูง
การพัฒนา CLI
เชี่ยวชาญ Go สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี