我正在爲基於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