Skip to content

wjgogogo/vsc-find-test-file

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3de8863 Β· Sep 10, 2021

History

43 Commits
Jun 21, 2021
Jun 19, 2021
Jul 2, 2021
Jun 16, 2021
Sep 10, 2021
Jun 19, 2021
Jun 19, 2021
Jun 19, 2021
Jun 12, 2021
Sep 10, 2021
Jun 17, 2021
Sep 10, 2021
Sep 10, 2021
Jun 19, 2021
Jun 19, 2021

Repository files navigation

Find Test File

VS Version Rating Install Auto Publish

a vscode extension to help you jump between source and test file easily! πŸ’―

πŸŽ‰ Features

  • jump between source and test file, show select component if there are several possible files.
  • create a test file if can't find it.

πŸ”– Usage

extension provides 4 ways to help you switch source/test files or create test file.

when editor focus on a javascript or typescript file, you can:

  1. open command palette, and input find test file, you can find two commands:
  2. or you can find two icons in top right of editor:
  3. or you can open context menu to find these two options:
  4. or you can use shortcut:
    • findTestFile: cmd+shift+t(window: ctrl+shift+t)
    • createTestFile: cmd+alt+t(window: ctrl+alt+t)

Principal

if you want extension work as you expected

the extension will think source file and test file should have the same basename and extension. for example, if the source file is a.ts. then its test file should be a@testSuffix.ts.

Language Support

Support for .ts, .tsx, .js, .jsx.

Configuration

findTestFile.basic.excludeFolder

The folders are outside of the scan range. By default, it excludes node_modules. you can add other folders that you don't want extension to find source/test files(e.g. dist).

findTestFile.basic.testSuffix

The regexp patterns that extension uses to detect test files. By default, it looks for .js, .jsx, .ts, .tsx files with a suffix of .spec or .test (e.g. extension regards example.spec.ts or example.test.js as test file).

findTestFile.createIfNotFind.enable

Decide whether to create a test file when it can't be found. By default, it's false.

findTestFile.createIfNotFind.insertSnippet

Decide whether to insert code snippet. By default, it's true.

findTestFile.createIfNotFind.preferStructureMode

The preferred way to create a test file when can't find it and findTestFile.createIfNotFind.enable is enabled. By default, it's separate.

  • separate: Put new test file in a separate folder, and follow the same directory structure of source file (e.g. the test file of src/example/a.ts should be @separate-folder/example/a.spec.ts).
  • unite: Put new test file close to the source file (e.g. the test file of src/example/a.ts should be src/example/@unite-folder/a.spec.ts)."

findTestFile.createIfNotFind.preferTestDirectory

Determine the test folder structure when create test file. separate property only enable when Find Test File β€Ί Create If Not Find: Prefer Structure Mode is separate. unite property is likewise.

{
  "findTestFile.createIfNotFind.preferTestDirectory": {
    "separate": "__tests__",
    "unite": "__tests__"
  }
}

And support multi-level directories (e.g. tests/unit).

please do not add / at the start and end the string (e.g. ⭕️ good: tests/unit, ❌ bad: /tests/unit/).

For example:

{
  "findTestFile.createIfNotFind.enable": false
}

{
  "findTestFile.createIfNotFind.enable": true,
  "findTestFile.createIfNotFind.preferStructureMode": "separate",
  "findTestFile.createIfNotFind.preferTestDirectory": {
    "separate": "__tests__",
    "unite": "__tests__"
  }
}

🚩 License

MIT