супер-тест не найден - PullRequest
       16

супер-тест не найден

0 голосов
/ 14 мая 2019

Я пытался настроить шутки, супер-тест и экспресс, но не получилось.У меня есть эти 2 простых файла

index.js

const express = require("express");
const app = express();
const port = 3000;

app.get("/", (req, res) => res.send("Hello World!"));

app.listen(port, () => console.log(`Example app listening on port ${port}!`));

и index.test.js

const express = require("express");
const app = express();
const request = require("supertest");

describe("/", () => {
  test("it says hello world", done => {
    request(app)
      .get("/")
      .expect(200)
      .end(function(err, res) {
        console.log("err", err);
      });
  });
});

, когда я запускаю тест, я получаю эту ошибку,err Error: expected 200 "OK", got 404 "Not Found"

Что не так?

Я захожу на localhost: 3000 в моем браузере я вижу «Hello World!»

1 Ответ

0 голосов
/ 14 мая 2019

Это потому, что экземпляр app в вашем тесте отличается от экземпляра, запущенного в вашем index.js

Экспорт приложения из вашего index.js:

const server = app.listen(port, () => console.log(`Example app listening on port ${port}!`));
module.exports = server;

И импорт в вашем тесте:

const server = require('./index.js');

// pass your server to test
...
request(server)
  .get("/")
...
...