Before: runtime autoload/ale/lsp.vim let g:conn_id = ale#lsp#Register('executable', '/foo/bar', {}) " Stub out this function, so we test updating configs. function! ale#lsp#Send(conn_id, message) abort endfunction After: Restore unlet! g:conn_id runtime autoload/ale/lsp.vim Execute(Only send updates when the configuration dictionary changes): AssertEqual 0, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {}) AssertEqual 1, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'a': 1}) AssertEqual 0, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'a': 1}) AssertEqual 1, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {})