我正在为基于nodejs(6.10.2)的应用程序运行基于mocha/chai(3.2.0/3.5.0)的测试用例,在macOS 10.12 .4,我遇到了“分段故障:11”故障。在macOS上Nodejs,moch/chai在“分段错误:11”上失败
到目前为止,我曾尝试:
- 删除我的node_modules文件夹,做一个新的
npm install
- 检查过时的依赖关系,并提升他们
- 升级版本的NodeJS(使用6.7.0), via
sudo port upgrade nodejs6
对我来说失败的代码如下。
.attach('file', fs.readFileSync(filepath), filename)
我已分别尝试了fs.readFileSync(filepath)
,我没有遇到这个问题:
chai.request(url)
.post(`/api/filestore?token=${token}`)
.timeout(20000)
.attach('file', fs.readFileSync(filepath), filename)
.field('name', data.name)
.field('description', data.description)
.field('keywords', data.keywords)
.end(function(err, res) {
if (err) { done(err); }
res.should.have.status(200);
res.should.be.json;
res.body.should.have.property('name');
res.body.should.have.property('description');
res.body.should.have.property('categories');
res.body.keywords.should.be.a('array');
res.body.keywords.join(',').should.be.equal(data.keywords);
done();
});
段故障,当我删除“附加”线消失。
这不是过去的问题,最近才成为问题。我想知道它是否与操作系统的升级一致,但我不能确定。测试文件的大小只有34K。
有没有人有任何建议?
编辑:在Ubuntu测试机上出现故障并出现分段错误。
奇怪......也许是读取权限问题?如果在测试之前执行'fs.readFileSync()'位,那么将文件对象传递给'attach()'方法是否一样?这会告诉你它是否是readFile或者segfaults的附件。 – jakerella