Before: Save g:ale_linters call ale#assert#SetUpLinterTest('markdown', 'markdownlint') After: call ale#assert#TearDownLinterTest() Execute(The default markdownlint-cli command should be correct): AssertLinter 'markdownlint', ale#Escape('markdownlint') . ' %s' Execute(The executable should be configurable): let g:ale_markdown_markdownlint_executable = 'foo bar' let g:ale_markdown_markdownlint_options = '--option' AssertLinter 'foo bar', ale#Escape('foo bar') . ' --option %s' Execute(markdownlint should select the markdownlint-cli linter): let g:ale_linters = {'markdown': ['markdownlint']} AssertEqual \ ['markdownlint_cli'], \ map(ale#linter#Get('markdown'), 'v:val.name')