1
0
Fork 0
mirror of https://github.com/pnx/neotest-phpunit synced 2026-06-16 03:54:55 +02:00
neotest-phpunit/README.md
2024-02-07 16:15:22 -05:00

2.4 KiB

neotest-pest

This plugin provides a Pest adapter for the Neotest framework.

This is a fork of neotest-pest originally by @theutz, with some fixes and updates:

  • Updated to work with Pest 2.0
  • Support for (and automatic detection of) Laravel Sail
    • Note: This also moves junit output files into storage/app/

⚠️ Ive only focused on making this work for me. Please test against your Pest tests ⚠️

📦 Installation

Install the plugin using packer:

use({
  'nvim-neotest/neotest',
  requires = {
    ...,
    'V13Axel/neotest-pest',
  },
  config = function()
    require('neotest').setup({
      ...,
      adapters = {
        require('neotest-pest'),
      }
    })
  end
})

🔧 Configuration

The plugin may be configured as below:

adapters = {
  require('neotest-pest')({
    pest_cmd = function()
      return "vendor/bin/pest"
    end
  }),
}

🚀 Usage

Test single method

To test a single test, hover over the test and run lua require('neotest').run.run().

As an example, I have mine setup with t(est)n(earest) as such:

vim.keymap.set('n', '<leader>tn', function() require('neotest').run.run() end)

Test file

To test a file run lua require('neotest').run.run(vim.fn.expand('%'))

Example - t(est)f(ile):

vim.keymap.set('n', '<leader>tf', function() require('neotest').run.run(vim.fn.expand('%')) end)

Test directory

To test a directory run lua require('neotest').run.run("path/to/directory")

Test suite

To test the full test suite run lua require('neotest').run.run({ suite = true })

🎁 Contributing

This fork is maintained by one guy, in my spare time and when I can get to it. Please raise a PR if you are interested in adding new functionality or fixing any bugs. When submitting a bug, please include an example test that I can test against.

To trigger the tests for the adapter, run:

./scripts/test

👏 Prior Art

This package is a fork of neotest-pest by @theutz, which relied heavily on olimorris/neotest-phpunit by @olimorris.