tschaub / mock-fs

Configurable mock for the fs module
https://npmjs.org/package/mock-fs
Other
906 stars 86 forks source link

async function hangs indefinitely? #348

Open isaaclem90 opened 2 years ago

isaaclem90 commented 2 years ago

First of all thanks for this awesome library! I have met some problem as below and would appreciate if you can help shed some light

import fsPromises from 'fs/promises';

const createFolder = async (target: string) => {
  await fsPromises.mkdir(target, { recursive: true });
};

The above code is pretty straight forward, which takes in target, and create the folder recursively.

Now I'm trying unit test as below

import {createFolder} from './xx';
import mock from 'mock-fs';
import fs from 'fs';

describe('createFolder()', () => {
  beforeAll(() => {
    mock(
      {
        sourceFolder: {
          'index.md': 'abc',
        },
      },
      { createCwd: true, createTmp: true }
    );
  });

  afterAll(() => {
    mock.restore();
  });

  it('creates folder successfully', async () => {
    await createFolder(
      `${process.cwd()}/destinationFolder`
    );

    expect(fs.existsSync(`${process.cwd()}/destinationFolder`)).toBeTruthy();
  });
});

When the above code ran, it will hang all the way till timeout, can anyone share what's wrong with it?

saiichihashimoto commented 7 months ago

I'm having the same issue with fsPromises.readFile.