Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 错误:enoint:没有这样的文件或目录,请打开'/test/testFiles/shadab.jpeg';使用chai上传文件的测试用例_Node.js_Testing_File Upload_Mocha.js_Chai - Fatal编程技术网

Node.js 错误:enoint:没有这样的文件或目录,请打开'/test/testFiles/shadab.jpeg';使用chai上传文件的测试用例

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(

我正在尝试用Mocha/Chai测试我的节点API。我创建了一个“test”文件夹,其中包含File.js,其中包含此代码,同一个测试文件夹包含一个名为testFile的文件夹,其中有一个图像“shadad.jpeg”。js文件包含以下代码

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')
将返回完整路径。但我还没有测试过。