Я создал функцию, которая в основном перебирает массив и создает файлы. Я начинаю тестировать, используя Jest, чтобы обеспечить дополнительную безопасность, чтобы убедиться, что все работает, однако я испытываю некоторые проблемы, пытаясь насмехаться над файловой системой Node.js.
Эта функция мне нужнапроверить - function.ts :
export function generateFiles(root: string) {
fs.mkdirSync(path.join(root, '.vscode'));
files.forEach((file) => {
fs.writeFileSync(
path.join(root, file.path, file.name),
fs.readFileSync(path.join(__dirname, 'files', file.path, file.name), 'utf-8')
);
});
}
const files = [
{ name: 'tslint.json', path: '' },
{ name: 'tsconfig.json', path: '' },
{ name: 'extensions.json', path: '.vscode' },
];
Я читал вокруг, но не могу понять, как проверить это с помощью шутки. Нет примеров для просмотра. Я попытался установить mock-fs
, что должно быть простым способом запуска и запуска с фиктивной версией модуля Node.js FS, но я, честно говоря, не знаю, с чего начать. Это моя первая попытка сделать простой тест - который вызывает ошибку, говорит «нет такого файла или каталога» - function.test.ts :
import fs from 'fs';
import mockfs from 'mock-fs';
beforeEach(() => {
mockfs({
'test.ts': '',
dir: {
'settings.json': 'yallo',
},
});
});
test('testing mock', () => {
const dir = fs.readdirSync('/dir');
expect(dir).toEqual(['dir']);;
});
afterAll(() => {
mockfs.restore();
});
Любой, кто может указатьменя в правильном направлении?