Модульное тестирование экспресс-роутера - PullRequest
1 голос
/ 18 апреля 2019

У меня есть маршрут, подобный приведенному ниже, и я пытаюсь обдумать, как это проверить, используя Mocha, Chai и SinonJS.

router.get("/favorites", async function(req, res) {
    try {
        let cachedItem = cache.get("FAVORITES");
        if (cachedItem) {
            res.status(global.HttpCode.Ok).send(cachedItem);
        } else {
            var pool = await poolPromiseWebMart;
            let result = await pool.request().execute("dbo.GetFavorites");
            cache.put("FAVORITES", result.recordset, ONE_MINUTE * NUMBER_OF_MINUTES);
            res.status(global.HttpCode.Ok).send(result.recordset);
        }
    } catch (error) {
        return req.logHelper.log(error, "dbo.GetFavorites");
    }
});

Я только начал изучать SinonJS и решил, что мне нужно будет заглушить эти зависимости, но не совсем уверен, с чего начать. Можно ли даже вызывать маршрут без работающего сервера?

Я пытался вызвать его с помощью

return request(app)
  .get("/favorites")
  .then(function(response) {
     //Testing here
  })

Но у меня много проблем с зависимостями. Заранее спасибо!

...