From 2a6ff853c20e6c1c780c69affdadacda2db202b6 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 4 Sep 2025 16:16:23 +0300 Subject: tests: expand negative SSE and table-driven coverage; add docs/testing.md; use shared fixtures --- docs/testing.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docs/testing.md (limited to 'docs/testing.md') diff --git a/docs/testing.md b/docs/testing.md new file mode 100644 index 0000000..eff6f2e --- /dev/null +++ b/docs/testing.md @@ -0,0 +1,16 @@ +# Testing Guide + +This repository includes a growing test suite designed to be realistic and robust. + +Key patterns: + +- Table‑driven tests: consolidate repetitive scenarios into concise tables (see `internal/lsp/*_table_test.go`). +- Shared fixtures: use `internal/testutil/fixtures.go` for multi‑line docblocks, chat replies, function suggestions, and markdown fences. +- Provider mocks: use `httptest.Server` and/or custom `http.RoundTripper` to simulate OpenAI/Copilot/Ollama responses, including success, stream (SSE), and error cases. +- E2E LSP tests: capture JSON‑RPC frames from the in‑memory server (`captureResponse`, `captureRequest`) and validate code actions, resolves, and chat edits. + +Suggested additions: + +- Expand table‑driven coverage for completion edit computations and label/filter selection. +- Add more negative tests (malformed SSE/JSON payloads) to assert robust error handling. + -- cgit v1.2.3