Nefarious Planetary Meddling

    jest-os-detection
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.1 • Public • Published

    Jest OS detection

    This module allows you to specify on which OS your tests should run. A common use case would be to have a CI running on different OS (say mac and windows) but you want to have all your tests in the same file. Unfortunately, some of your tests should only run on a specific platform due to OS specific features.

    All tests that should not be run on the current platform will be automatically skipped.

    Install

    # with npm 
    npm install jest-os-detection
     
    # with yarn 
    yarn add jest-os-detection

    Setup

    In your package.json

    "jest"{
        "setupFilesAfterEnv": ["jest-os-detection"],
      }

    Usage

    describe.onWindows('this describe is only interpreted on Windows', () => {
      it.onMac('this test is only interpreted on Mac', () => {})
      test.onLinux('this test is only interpreted on Linux', () => {})
      it.onMac.skip('this test is only interpreted on Mac but skipped', () => {})
      test.onLinux.skip('this test is only interpreted on Linux but skipped', () => {})
      it.onMac.only('only this test is executed on Mac', () => {})
      test.onLinux.only('only this test is executed on Linux', () => {})
    })
     
    describe.onWindows.each([1, 2, 3])('several describe on windows', describeValue => {
      it.onMac.each([1, 2, 3, 4])('several tests on windows', testValue => {})
      test.onLinux.each([1, 2, 3, 4])('several tests on windows', testValue => {})
      it.onMac.each.skip([1, 2, 3, 4])('several tests skipped on windows', testValue => {})
      test.onLinux.each.skip([1, 2, 3, 4])('several tests skipped on windows', testValue => {})
      it.onMac.each.only([1, 2, 3, 4])('only these tests will be executed on windows', testValue => {})
      test.onLinux.each.only([1, 2, 3, 4])('only these tests will be executed on windows', testValue => {})
    })

    Supported features

    Supported commands:

    • describe()
    • it()
    • test()

    Supported platform:

    • <command>.onWindows()
    • <command>.onMac()
    • <command>.onLinux()
    • <command>.skipWindows()
    • <command>.skipMac()
    • <command>.skipLinux()

    Supported sub-commands:

    • <command>.<platform>.each()
    • <command>.<platform>.only()
    • <command>.<platform>.skip()
    • <command>.<platform>.skip.each()
    • <command>.<platform>.only.each()

    TypeScript

    To avoid type errors globally, you can add this to your tsconfig:

    {
      "files": [
        "node_modules/jest-os-detection/index.d.ts"
      ]
    }

    Install

    npm i jest-os-detection

    DownloadsWeekly Downloads

    1,857

    Version

    1.3.1

    License

    MIT

    Unpacked Size

    20 kB

    Total Files

    21

    Last publish

    Collaborators

    • nvld