Before: call ale#test#SetDirectory('/testplugin/test') runtime ale_linters/elm/make.vim After: unlet! g:ale_elm_make_use_global unlet! g:ale_elm_make_executable call ale#test#RestoreDirectory() Execute(should get valid executable with default params): call ale#test#SetFilename('elm-test-files/app/testfile.elm') AssertEqual \ ale#path#Simplify(g:dir . '/elm-test-files/app/node_modules/.bin/elm'), \ ale_linters#elm#make#GetExecutable(bufnr('')) Execute(should get valid executable with 'use_global' params): let g:ale_elm_make_use_global = 1 call ale#test#SetFilename('elm-test-files/app/testfile.elm') AssertEqual \ 'elm', \ ale_linters#elm#make#GetExecutable(bufnr('')) Execute(should get valid executable with 'use_global' and 'executable' params): let g:ale_elm_make_executable = 'other-elm' let g:ale_elm_make_use_global = 1 call ale#test#SetFilename('elm-test-files/app/testfile.elm') AssertEqual \ 'other-elm', \ ale_linters#elm#make#GetExecutable(bufnr(''))