This plugin provides a Dart and Flutter tests adapter for the Neotest framework.
Using packer:
use({
'nvim-neotest/neotest',
requires = {
...,
'sidlatau/neotest-dart',
}
config = function()
require('neotest').setup({
...,
adapters = {
require('neotest-dart') {
command = 'flutter', -- Command being used to run tests. Defaults to `flutter`
-- Change it to `fvm flutter` if using FVM
-- change it to `dart` for Dart only tests
use_lsp = true, -- When set Flutter outline information is used when constructing test name.
-- Useful when using custom test names with @isTest annotation
custom_test_method_names = {},
}
})
end
})
For usage of Neotest
plugin please refer to Neotest usage section
When use_lsp
is set, plugin attaches to dartls
server and listens for outline changes. LSP outline handles more complex test names. Example of the test, that does not work with TreeSitter, but works when use_lsp
setting is enabled:
testWidgets('a' 'b', (tester) async {
expect(true, false);
});
This project is maintained by the Neovim Dart/Flutter community. Please raise a PR if you are interested in adding new functionality or fixing any bugs If you are unsure of how this plugin works please read the Writing adapters section of the Neotest README. When submitting a bug, please include an example spec that can be tested.