ฉันกำลังพยายามหาวิธีปิดอินสแตนซ์ของ Express โดยพื้นฐานแล้วฉันต้องการการผกผันของการ.listen(port)
โทร - ฉันจะทำให้เซิร์ฟเวอร์ Express หยุดฟังปล่อยพอร์ตและปิดอย่างหมดจดได้อย่างไร
ฉันรู้ว่านี่อาจเป็นคำถามแปลก ๆ ดังนั้นนี่คือบริบท อาจมีวิธีอื่นในการเข้าถึงสิ่งนี้และฉันคิดผิด ฉันกำลังพยายามตั้งค่ากรอบการทดสอบสำหรับแอพ socket.io/nodejs ของฉัน มันเป็นแอพหน้าเดียวดังนั้นในสคริปต์การทดสอบของฉัน (ฉันใช้Mochaแต่นั่นไม่สำคัญจริงๆ) ฉันต้องการที่จะสามารถเริ่มต้นเซิร์ฟเวอร์เรียกใช้การทดสอบกับเซิร์ฟเวอร์จากนั้นปิดเซิร์ฟเวอร์ ฉันสามารถหลีกเลี่ยงสิ่งนี้ได้โดยสมมติว่าเซิร์ฟเวอร์เปิดอยู่ก่อนที่การทดสอบจะเริ่มขึ้นหรือโดยการทดสอบอย่างใดอย่างหนึ่งเริ่มเซิร์ฟเวอร์และการทดสอบครั้งต่อ ๆ ไปจะถือว่าขึ้น แต่มันยุ่งมาก ฉันต้องการให้ไฟล์ทดสอบแต่ละไฟล์เริ่มต้นอินสแตนซ์เซิร์ฟเวอร์ด้วยการตั้งค่าที่เหมาะสมแล้วปิดอินสแตนซ์นั้นเมื่อการทดสอบสิ้นสุดลง นั่นหมายความว่าไม่มีการพึ่งพาแปลก ๆ ในการเรียกใช้การทดสอบและทุกอย่างสะอาด นอกจากนี้ยังหมายความว่าฉันสามารถทำการทดสอบการเริ่มต้น / ปิดเครื่องได้
มีคำแนะนำเกี่ยวกับวิธีการทำอย่างไร ฉันคิดเกี่ยวกับการเรียกใช้ข้อยกเว้นด้วยตนเองเพื่อนำมาลง แต่ดูเหมือนจะยุ่ง ฉันขุดผ่านเอกสาร Express และซอร์ส แต่ดูเหมือนจะไม่พบวิธีการใด ๆ ที่จะปิดเซิร์ฟเวอร์ อาจมีบางอย่างใน socket.io สำหรับสิ่งนี้ แต่เนื่องจากเซิร์ฟเวอร์ซ็อกเก็ตเชื่อมต่อกับเซิร์ฟเวอร์ Express ฉันคิดว่าสิ่งนี้จะต้องเกิดขึ้นที่เลเยอร์ด่วน