Express'in bir örneğini nasıl kapatacağımı anlamaya çalışıyorum. Temel olarak, .listen(port)
aramanın tersini istiyorum - bir Express sunucunun dinlemeyi DURDURMASINI, bağlantı noktasını serbest bırakmasını ve temiz bir şekilde kapatmasını nasıl sağlayabilirim?
Bunun garip bir sorgu gibi göründüğünü biliyorum, işte bağlam; belki buna yaklaşmanın başka bir yolu vardır ve ben bunu yanlış şekilde düşünüyorum. Socket.io/nodejs uygulamam için bir test çerçevesi kurmaya çalışıyorum. Bu tek sayfalık bir uygulama, yani test komut dosyalarımda ( Mocha kullanıyorum, ama bu gerçekten önemli değil) Sunucuyu başlatmak, ona karşı testler yapmak ve ardından sunucuyu kapatmak istiyorum. Test başlamadan önce sunucunun açıldığını varsayarak veya testlerden birinin sunucuyu başlatmasını sağlayarak ve sonraki her testin bunun bittiğini varsaymasını sağlayarak bunu aşabilirim, ama bu gerçekten karmaşık. Her test dosyasının uygun ayarlarla bir sunucu örneğini başlatmasını ve ardından testler bittiğinde bu örneği kapatmasını tercih ederim. Bu, testi çalıştırmanın garip bir bağımlılığı olmadığı ve her şeyin temiz olduğu anlamına gelir. Aynı zamanda başlatma / kapatma testi yapabileceğim anlamına geliyor.
Peki, bunun nasıl yapılacağına dair herhangi bir tavsiye? İstisnaları düşürmek için manuel olarak tetiklemeyi düşündüm, ancak bu karmaşık görünüyor. Express belgeleri ve kaynağı inceledim, ancak sunucuyu kapatacak herhangi bir yöntem bulamıyorum. Bunun için socket.io'da da bir şeyler olabilir, ancak soket sunucusu Express sunucusuna yeni eklendiğinden, bunun ekspres katmanda olması gerektiğini düşünüyorum.