Я новичок в nodejs, и мы с мокко написали программу js, чтобы вывести список файлов в папке, а также пример модульного теста в среде мокко и чай.
What I ' Здесь я пытаюсь добиться того, чтобы перед каждым тестом я хотел сбросить объект, который я установил, в module.export, и я хочу получить количество файлов в папке, которая фактически находится в массиве «objResult» и «result».
Но я получаю счет, добавленный к предыдущему запуску тестового набора,
Первый запуск тестового примера, затем начинается с «0» и он насчитывает 85 файлов. См. Ниже вывод,
Второй прогон теста, вместо того, чтобы начинаться с «0», он начинается с «85»
readDirectory(dirname)
Start - 0
End - 85
√ should set array objResult with the values
Start - 85
End - 170
√ should set array result with the values
Ниже приведен код теста. js
let assertMocha = require("assert");
let assert = require("chai").assert;
let expect = require("chai").expect;
let readerExport = require("../temp/DocReader")
describe("readDirectory(dirname)", function () {
let readerExport1;
beforeEach(function () {
readerExport1 = null;
readerExport1 = require("../temp/DocReader")
readerExport1.readDirectory(readerExport1.directory);
})
it("should set array objResult with the values", function () {
assert.isAbove(readerExport1.objResult.length, 0, "array should contain some value");
});
it("should set array result with the values", function () {
assert.isAbove(readerExport1.result.length, 0, "array should contain some value");
});
})
DocReader. js
let fs = require('fs');
let directory = "C:\\temp\\";
let result = [];
let objResult = [];
function ResultObject(filename) {
this.filename = filename;
}
function readDirectory(dirname) {
if(dirname==null || dirname.trim()==""){
throw new TypeError("Expects directory path as parameter");
}
var files = fs.readdirSync(dirname);
readFiles(files, dirname);
var newArray = objResult;
newArray.forEach(function (item) {
result.push(item.filename + " | " + item.testId + " | " + item.status + " | " + item.duration + " | " + item.name);
})
}
function readFiles(files, dirname) {
if(files==null || dirname==null){
throw new TypeError("Expects array of files and directory as parameter");
}
for (let filename of files) {
try {
objResult.push(new ResultObject(
filename));
}
catch (err) {
console.log(`${err}`);
}
}
}
module.exports = {
readDirectory:readDirectory,
readFiles:readFiles,
ResultObject: ResultObject,
objResult:objResult,
directory:directory,
result:result
};
Я пытался использовать существующую переменную, т. Е. «ReaderExport». Я также создал новую переменную, т. Е. «Let readerExport1», но вывод такой же