所以,基本上我正在开发我的第一个 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)
});
});