Vscode-test: a configurable VS Code extension and test runner for elixir (and more)

Hey everyone :slight_smile: I’ve been getting back into elixir over the past few weeks, so I decided it was finally time to build a VS Code extension that I’ve been thinking about for awhile - a test runner that supports multiple languages and testing frameworks.

So far I’ve wired up elixir and ruby, but I hope to grow it into something like GitHub - vim-test/vim-test: Run your tests at the speed of thought over time, which was the source of inspiration. The test runner currently supports:

  • Running tests for the current line number
  • Running tests for a file
  • Configuring your project for running the entire test suite
  • Configuring your project for running just your unit tests
  • Rerunning the last test command
  • Opening alternate files (i.e. bounce from test file to source file, and back again)

If you’re a vscode-vim user, you can wire up leader keys for running test commands with something like this in your settings.json:

{
      "before": ["<leader>", "s"],
      "commands": ["vscode-test.runLineTests"]
    },
    {
      "before": ["<leader>", "l"],
      "commands": ["vscode-test.runLastTests"]
    },
    {
      "before": ["<leader>", "t"],
      "commands": ["vscode-test.runFileTests"]
    },
    {
      "before": ["<leader>", "a"],
      "commands": ["vscode-test.runAllTests"]
    },
    {
      "before": ["<leader>", "u"],
      "commands": ["vscode-test.runAllUnitTests"]
    },

You can view my dotfiles to see how I’ve set it up. Also, it should be easy to bind them to hotkeys if that’s more your thing :slight_smile:

2 Likes