summaryrefslogtreecommitdiff
path: root/docs/testing.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/testing.md')
-rw-r--r--docs/testing.md16
1 files changed, 16 insertions, 0 deletions
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.
+