Given testft (An empty file): Before: let g:job_started_success = 0 let g:ale_run_synchronously = 1 unlet! b:ale_linted function! TestCallback(buffer, output) return [] endfunction call ale#linter#Define('testft', { \ 'name': 'testlinter', \ 'callback': 'TestCallback', \ 'executable': has('win32') ? 'cmd' : 'true', \ 'command': 'true', \}) After: let g:ale_run_synchronously = 0 let g:ale_buffer_info = {} try augroup! VaderTest catch endtry unlet! g:job_started_success delfunction TestCallback call ale#linter#Reset() Execute(Run a lint cycle with an actual job to check for ALEJobStarted): augroup VaderTest autocmd! autocmd User ALEJobStarted let g:job_started_success = 1 augroup end call ale#Lint() AssertEqual g:job_started_success, 1