Express 如何测试RESTAPI以接收对象?

Express 如何测试RESTAPI以接收对象?,express,jestjs,supertest,Express,Jestjs,Supertest,我正在学习测试并使用: Express 开玩笑 超级测试 续集 这是user.test.js,每次我运行测试时,它都会在数据库中的app.get(“/”)中创建一个用户对象,我有一个: User.findAll({}); 所以我想测试一些更“通用”的东西,比如用户对象,这是可能的,你有什么建议吗 const app = require("../app"); const request = require("supertest"); const { U

我正在学习测试并使用:

  • Express
  • 开玩笑
  • 超级测试
  • 续集
这是user.test.js,每次我运行测试时,它都会在数据库中的app.get(“/”)中创建一个用户对象,我有一个:

User.findAll({});
所以我想测试一些更“通用”的东西,比如用户对象,这是可能的,你有什么建议吗

const app = require("../app");
const request = require("supertest");
const { User } = require("../models/");
const db = require("../models");

describe('User Model', () => {

    beforeAll(async () => {
        const user = await db.User.create({ name: "Paulo", email: "blablblalbalbal@gmail.com", password: "123mudar" });
        return user

    })

    it('List User', async () => {

        const res = await request(app).get("/");

        expect(res.body).toBe(user);
        expect(res.statusCode).toBe(200);
    });

});

您应该模拟对DB或测试区域以外任何地方的调用