Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@mock/require

bubble-dev16MIT0.2.2TypeScript support: included

Mock require

require, mock, unmock

readme

@mock/require npm

Mock require, doesn't currently work with real --experimental-modules ESM.

Install

$ yarn add --dev @mock/require

Usage

type TMocks = {
  [key: string]: any
}

const mockRequire: (file: string, mocks: TMocks) => () => void
// text.ts
export default 'cpus'
// get-data.ts
import text from './text'
import { cpus } from 'os'

export const getData = () => `${cpus().length} ${text}`
import test from 'blue-tape'
import { mockRequire } from '@mock/import'

test('getData', async (t) => {
  const unmockRequire = mockRequire('./get-data', {
    './text': {
      default: 'cpus!!!'
    },
    os: {
      cpus: () => new Array(100)
    }
  })

  const { getData } = await import('./get-data')
  const data = await geteData()

  t.equal(
    data,
    '100 cpus!!!',
    'should get data'
  )

  unmockRequire()
})