попытки несколько node.js файловой системы проверки (чтобы подтвердить, если среда функционирует нормально) Когда я пишу мой fs.unlink или fs.unlinkSync вне мокко он удаляет файл, как ожидалось:Могу ли я удалить файл из теста модуля мокко?
var fs = require('fs');
var newFile = new Date().getTime() +".txt";
fs.writeFile(newFile, "hello!", function (err) {
if (err) console.log(err);
// console.log("Created file: "+newFile);
fs.readdir(__dirname, function(err, list) {
// console.log(list)
console.log(list.indexOf(newFile) > -1)
fs.unlinkSync(newFile);
console.log('successfully deleted '+newFile);
// console.log("Deleted: "+newFile)
fs.readdir(__dirname, function(err, list) {
if (err) throw err;
console.log(list.indexOf(newFile) === -1);
});
});
});
Но когда я пытаюсь точно же код из внутри мокко проверить это делает не удалить файл ...
var chai = require('chai');
var assert = chai.assert;
var fs = require('fs');
describe('Node.js Environment Checks', function(){
describe('Basic IO', function(){
it('CREATE (temporary) file tests create/write access to FS', function(){
// setup
var newFile = new Date().getTime() +".txt";
fs.writeFile(newFile, "hello!", function (err) {
if (err) console.log(err);
// console.log("Created file: "+newFile);
fs.readdir(__dirname, function(err, list) {
// console.log(list)
assert.isTrue(list.indexOf(newFile) > -1)
fs.unlinkSync(newFile);
console.log('successfully deleted '+newFile);
// console.log("Deleted: "+newFile)
fs.readdir(__dirname, function(err, list) {
if (err) throw err;
assert.isTrue(list.indexOf(newFile) === -1);
});
});
});
})
})
}) // end node env checks
Я что-то не хватает ...?
Примечание: Я создал вопрос о GitHub: https://github.com/visionmedia/mocha/issues/1058
(Если я получаю ответ там сначала я отражу его здесь)
Это * почти * решить эту проблему. (также предлагается @travisjeffery on github) В * дополнение * к ** done() ** обратный вызов мне пришлось изменить ** __ dirname ** на ** process.cwd **, чтобы убедиться, что я удаляю файл из текущего где скрипт запущен, а не корневой каталог. Благодаря! – nelsonic
выше решение вместе с переименованием __dirname для process.cwd не работает – lonewarrior556