jest-plugin-fs

2.9.0 • Public • Published

jest-plugin-fs

npm npm npm

Jest plugin for mocking out the filesystem.

Getting Started

Install jest-plugin-fs using yarn:

yarn add --dev jest-plugin-fs

Motivation

Jest currently does not have an easy way to mock out the filesystem. This plugin aims to change that. Here's an example:

import fs from 'jest-plugin-fs';
 
// Mock out the filesystem.
jest.mock('fs', () => require('jest-plugin-fs/mock'));
 
describe('FileWriter', () => {
  // Create an in-memory filesystem.
  beforeEach(() => fs.mock());
  afterEach(() => fs.restore());
 
  describe('.write', () => {
    set('filename', () => 'path/to/my/file');
    action('write', () => FileWriter.write(filename));
 
    it('should write a new file', () => {
      expect(write).not.toThrow();
    });
 
    describe('resulting file', () => {
      beforeEach(() => write());
 
      it('should create the new file', () => {
        expect(fs.readFileSync(filename)).toEqual('new-file');
      });
    });
  });
});

Usage

If you want, you can import fs from jest-plugin-fs at the top of every test:

import fs from 'jest-plugin-fs';
 
// This installs the mock for 'fs'.
jest.mock('fs', () => require('jest-plugin-fs/mock'));

If you want to install fs attached to the global jest object, you can modify the jest section of your package.json to include:

"jest"{
  "setupFiles": [
    "jest-plugin-fs/setup"
  ]
}

Example

Here's an example test that tests fs itself:

// TODO

Package Sidebar

Install

npm i jest-plugin-fs

Weekly Downloads

66

Version

2.9.0

License

MIT

Unpacked Size

5.25 kB

Total Files

7

Last publish

Collaborators

  • negativetwelve