- Home
- Skills
- Lookatitude
- Beluga Ai
- Go Testing
go-testing_skill
- Go
10
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill lookatitude/beluga-ai --skill go-testing- SKILL.md1.8 KB
Overview
This skill collects Go testing patterns and pragmatic conventions for Beluga AI v2 projects. It provides concrete examples for table-driven tests, stream cancellation, mocks, integration tags, and benchmarks to speed reliable test development. Use it to standardize tests, surface common pitfalls, and ensure consistent test layout and assertions.
How this skill works
The skill inspects common test scenarios and supplies short, actionable examples: table-driven unit tests, stream handling with context cancellation, and bench/test build tags. It documents mock placement and structure, preferred assertion libraries, compile-time interface checks, and mandatory test cases to cover error paths and empty inputs. Patterns are minimal and meant to be copied into *_test.go files alongside source code.
When to use it
- Writing unit tests for models and handlers
- Adding stream tests that must handle context cancellation
- Creating mocks with injected errors and call counting
- Authoring integration tests or benchmarks
- Enforcing compile-time interface conformance
Best practices
- Place tests in *_test.go files next to the code they exercise, not in separate directories
- Use table-driven tests for multiple scenarios and t.Run for subtests
- Favor testify/require for fatal assertions and testify/assert for non-fatal checks
- Always test error paths, nil/empty inputs, and context cancellation for streams
- Use //go:build integration for integration tests and *_integration_test.go naming
- For benchmarks include b.ReportAllocs() and b.RunParallel() when appropriate
Example use cases
- Unit test a Generate function with a table of inputs and expected outputs
- Test a streaming API that must cancel correctly using context.WithCancel
- Create a package mock with configurable function fields, error injection, and call counters under internal/testutil/mock<package>/
- Add a compile-time interface conformance check: var _ Interface = (*Impl)(nil)
- Write integration tests guarded by the integration build tag and separate benchmark files for performance
FAQ
Keep mocks under internal/testutil/mock<package>/ with function fields, error injection, and counters.
What assertion libraries to use?
Use testify/require for fatal checks and testify/assert for non-fatal assertions.