Before: Save g:ale_go_goimports_executable Save g:ale_go_goimports_options " Use an invalid global executable, so we don't match it. let g:ale_go_goimports_executable = 'xxxinvalid' let g:ale_go_goimports_options = '' call ale#test#SetDirectory('/testplugin/test/fixers') call ale#test#SetFilename('../go_files/testfile.go') After: Restore call ale#test#RestoreDirectory() Execute(The goimports callback should return 0 when the executable isn't executable): AssertEqual \ 0, \ ale#fixers#goimports#Fix(bufnr('')) Execute(The goimports callback should the command when the executable test passes): let g:ale_go_goimports_executable = has('win32') ? 'cmd' : 'echo' AssertEqual \ { \ 'read_temporary_file': 1, \ 'command': ale#Escape(g:ale_go_goimports_executable) . ' -l -w -srcdir %s %t' \ }, \ ale#fixers#goimports#Fix(bufnr('')) Execute(The goimports callback should include extra options): let g:ale_go_goimports_executable = has('win32') ? 'cmd' : 'echo' let g:ale_go_goimports_options = '--xxx' AssertEqual \ { \ 'read_temporary_file': 1, \ 'command': ale#Escape(g:ale_go_goimports_executable) . ' -l -w -srcdir %s --xxx %t' \ }, \ ale#fixers#goimports#Fix(bufnr(''))