Node.js 错误:enoint:没有这样的文件或目录,请打开'/test/testFiles/shadab.jpeg';使用chai上传文件的测试用例
我正在尝试用Mocha/Chai测试我的节点API。我创建了一个“test”文件夹,其中包含File.js,其中包含此代码,同一个测试文件夹包含一个名为testFile的文件夹,其中有一个图像“shadad.jpeg”。js文件包含以下代码Node.js 错误:enoint:没有这样的文件或目录,请打开'/test/testFiles/shadab.jpeg';使用chai上传文件的测试用例,node.js,testing,file-upload,mocha.js,chai,Node.js,Testing,File Upload,Mocha.js,Chai,我正在尝试用Mocha/Chai测试我的节点API。我创建了一个“test”文件夹,其中包含File.js,其中包含此代码,同一个测试文件夹包含一个名为testFile的文件夹,其中有一个图像“shadad.jpeg”。js文件包含以下代码 describe("/POST upload", () => { it("it should POST a single file upload", done => { chai .request(
describe("/POST upload", () => {
it("it should POST a single file upload", done => {
chai
.request(server)
.post("/upload")
.field("Content-Type", "multipart/form-data")
.attach(
"file",
fs.readFileSync("./testFiles/shadab.jpeg"),
"shadab.jpeg"
)
.end((err, res) => {
res.should.have.status(200);
res.body.should.be.a("object");
res.body.should.have.property("success").eql(true);
done();
});
});
});
但是当我做命令npm测试时,我得到了错误
Error: ENOENT: no such file or directory, open '../test/testFiles/shadab.jpeg'
我正在用PostMan测试我的api,并将表单数据键作为“file”发送,将值作为文件“shadab.jpeg”发送。得到了这样的回应
{
"success": true,
"data": "Added Successfully"
}
我做错了什么?请帮助。我发现了这个问题。已解决我的问题。有关详细信息,请查看给定的github链接。
通过使用像这样的文件的完整路径
fs.readFileSync(`${uu dirname}/testFiles/shadab.jpeg`)
,它也可以像Pimento Web在评论中提到的那样工作。
测试文件夹中的相对文件路径行为异常。我曾经使用过
fs.readFileSync(“test/testFiles/shadab.jpeg”)
,现在它对我有效。正如我在上面的问题中提到的test
文件夹包含testFiles
文件夹,而shadab.jpeg
文件夹位于testFiles
文件夹中。尝试使用文件的完整路径,它将是interrestings而不是./filename使用path.join(_uu.dirname,'filename')@PimentoWeb感谢它使用了完整路径。我对它进行了测试。@RahulPatil我想你的解决方案也会起作用,因为path.join(\uu.dirname,'filename')
将返回完整路径。但我还没有测试过。