Mocha не выходит, хотя я вызываю server.close () - PullRequest
0 голосов
/ 10 июля 2020

У меня довольно стандартный сервер Express 4.

Когда я запускаю Mocha, он не выходит, когда используется следующее промежуточное ПО.

app.use("/v1/healthcheck", routes.healthcheck)
"use strict"

import express, { Request, Response, Router } from "express"
// import bearer from "../models/bearer"

const router: Router = express.Router()

// GET /v1/healthcheck
router.get("", async (req: Request, res: Response) => {
  try {
    // await bearer.findOne()
    res.empty()
  } catch (error) {
    res.internalServerError(error)
  }
})

export default router
res.empty = () => {
  res.sendStatus(204)
}

Если я закомментирую это промежуточное ПО, тесты завершатся неудачно (404) и завершатся.

Кто-то знает, что здесь происходит?

Изменить

Используя почему- is-node-running (как предлагается здесь ), очевидно, это имеет какое-то отношение к базовому DNS MongoDB (DNSCHANNEL).

# DNSCHANNEL
/Users/sunknudsen/server/node_modules/mongodb/lib/core/sdam/srv_polling.js:5               - const dns = require('dns');
/Users/sunknudsen/server/node_modules/mongodb/lib/core/sdam/topology.js:22                 - const SrvPoller = require('./srv_polling').SrvPoller;
/Users/sunknudsen/server/node_modules/mongodb/lib/core/index.js:36                         - Topology: require('./sdam/topology').Topology,
/Users/sunknudsen/server/node_modules/mongodb/index.js:4                                   - const core = require('./lib/core');
/Users/sunknudsen/server/node_modules/mongoose/lib/drivers/node-mongodb-native/binary.js:8 - const Binary = require('mongodb').Binary;
/Users/sunknudsen/server/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js:7  - exports.Binary = require('./binary');
/Users/sunknudsen/server/node_modules/mongoose/lib/index.js:15                             - require('./driver').set(require('./drivers/node-mongodb-native'));
/Users/sunknudsen/server/node_modules/mongoose/index.js:9                                  - module.exports = require('./lib/');
/Users/sunknudsen/server/build/server.js:7                                                 - const mongoose_1 = __importDefault(require("mongoose"));
/Users/sunknudsen/server/build/test/index.js:11                                            - const server_1 = __importDefault(require("../server"));
/Users/sunknudsen/server/node_modules/mocha/lib/esm-utils.js:20                            - return require(file);
/Users/sunknudsen/server/node_modules/mocha/lib/esm-utils.js:33                            - const result = await exports.requireOrImport(path.resolve(file));
/Users/sunknudsen/server/node_modules/mocha/lib/mocha.js:421                               - return esmUtils.loadFilesAsync(
/Users/sunknudsen/server/node_modules/mocha/lib/cli/run-helpers.js:156                     - await mocha.loadFilesAsync();
/Users/sunknudsen/server/node_modules/mocha/lib/cli/run-helpers.js:225                     - return run(mocha, options, fileCollectParams);
/Users/sunknudsen/server/node_modules/mocha/lib/cli/run.js:366                             - await runMocha(mocha, argv);
/Users/sunknudsen/server/node_modules/yargs/lib/command.js:241                             - ? innerArgv.then(argv => commandHandler.handler(argv))
...