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/
- Note: This also moves junit output files into
⚠️ 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.