0

所以,基本上我正在开发我的第一个 MERN 堆栈项目,其中我有一个 api 端点来重置收集车辆。我从集合中删除数据,然后从 csv 解析数据并将它们转换为 json 并插入新数据。运行我的后端代码时,一切都在 postman 和 robo3T 中顺利运行。但是当我运行我的测试代码时,执行会挂在指令上:
const vehicle_model = await tojson().fromFile(vehicles_csv);
因此测试失败(返回res.status 500)。此外,在运行测试代码时,端点也无法在邮递员中运行。我究竟做错了什么?
PS:这是我第一次在stackoverflow上写,如果我没有把问题说清楚,我很乐意详细说明:)

这是我的终点

exports.postResetVehicles = async (req, res) => {
   const vehicles_csv = "vehicles.csv";
   try {
       Vehicles.deleteMany({}).then(function () {
          console.log("Data deleted and");
       });

       const vehicles_model = await tojson().fromFile(vehicles_csv);

       Vehicles.insertMany(vehicles_model).then(function () {
           console.log("data inserted"); // Success
           console.log("=>Data reseted");
       }).catch(function (error) {
           console.log(error); // Failure
       });
       return res.status(200).json({ "status": "OK" });
   } catch (err) {
       return res.status(500).json({ "status": "failed", "error": err });
   }
};

这是我的测试代码

describe("Testing 'admin/resetvehicles'", () => {
    it("should succeed if Vehicles collection is reset", async () => {
        const response = await request(app).post(
            "/interoperability/api/admin/resetvehicles"
        );
        expect(response.status).to.equal(200)
    });
});
4

0 回答 0