lsp-test alternatives and similar packages
Based on the "Testing" category
Do you think we are missing an alternative of lsp-test or a related project?
lsp-test is a functional testing framework for Language Server Protocol servers.
import Language.Haskell.LSP.Test main = runSession "hie" fullCaps "proj/dir" $ do doc <- openDoc "Foo.hs" "haskell" skipMany anyNotification symbols <- getDocumentSymbols doc
Unit tests with HSpec
describe "diagnostics" $ it "report errors" $ runSession "hie" fullCaps "test/data" $ do openDoc "Error.hs" "haskell" [diag] <- waitForDiagnosticsSource "ghcmod" liftIO $ do diag ^. severity `shouldBe` Just DsError diag ^. source `shouldBe` Just "ghcmod"
Replaying captured session
replaySession "hie" "test/data/renamePass"
Parsing with combinators
skipManyTill loggingNotification publishDiagnosticsNotification count 4 (message :: Session ApplyWorkspaceEditRequest) anyRequest <|> anyResponse
Try out the example tests in the
example directory with
For more examples check the Wiki
The tests are integration tests, so make sure you have the following language servers installed and on your PATH:
- Check out a relatively recent version of the repo, or see
.travis.ymlto get the exact commit used for CI.
Then run the tests with
cabal test or
Seeing funny stuff when running lsp-test via stack? If your server is built upon Haskell tooling, keep in mind that stack sets some environment variables related to GHC, and you may want to unset them.