plugins/build/skills/testing-strategies/SKILL.md
Build confidence with comprehensive CLI testing. Unit tests catch logic bugs with fakes, integration tests verify API contracts, E2E tests validate workflows.
npx skillsauth add adaptive-enforcement-lab/claude-skills testing-strategiesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A well-tested CLI uses different testing strategies at different levels. This section covers:
See the full implementation guide in the source documentation.
| Practice | Description |
| ---------- | ------------- |
| Interface first | Design for testability with interfaces |
| Table-driven tests | Cover edge cases systematically |
| Parallel tests | Use t.Parallel() where safe |
| Build tags | Separate integration tests with //go:build integration |
| Clean up | Always clean up test resources |
Test at the right level. Unit tests catch logic bugs. Integration tests catch API issues. E2E tests catch workflow bugs.
A well-tested CLI uses different testing strategies at different levels. This section covers:
graph TB
E2E[E2E Tests<br/>Full workflow in real cluster]
Integration[Integration Tests<br/>Real API server with kind/envtest]
Unit[Unit Tests<br/>Fake clients and mock interfaces]
E2E --> Integration --> Unit
%% Ghostty Hardcore Theme
style E2E fill:#9e6ffe,color:#1b1d1e
style Integration fill:#65d9ef,color:#1b1d1e
style Unit fill:#a7e22e,color:#1b1d1e
myctl/
├── cmd/
│ ├── check.go
│ └── check_test.go # Command tests
├── pkg/
│ ├── k8s/
│ │ ├── client.go
│ │ ├── client_test.go # Unit tests with fakes
│ │ └── fake_client.go # Test doubles
│ └── selector/
│ ├── selector.go
│ └── selector_test.go
└── test/
├── e2e/ # E2E tests
└── fixtures/ # Test resources
.PHONY: test test-unit test-integration test-e2e
test: test-unit
test-unit:
go test -v -race ./...
test-integration:
go test -v -tags=integration ./pkg/...
test-e2e:
./test/e2e/run.sh
| Practice | Description |
| ---------- | ------------- |
| Interface first | Design for testability with interfaces |
| Table-driven tests | Cover edge cases systematically |
| Parallel tests | Use t.Parallel() where safe |
| Build tags | Separate integration tests with //go:build integration |
| Clean up | Always clean up test resources |
Test at the right level. Unit tests catch logic bugs. Integration tests catch API issues. E2E tests catch workflow bugs.
See examples.md for code examples.
documentation
Workload Identity Federation implementation guide. GKE setup, IAM bindings, ServiceAccount configuration, migration from service account keys, and troubleshooting patterns.
development
Secure GitHub Actions trigger patterns for pull requests, forks, and reusable workflows. Preventing privilege escalation and code injection through trigger misconfiguration.
development
Structured framework for evaluating GitHub Actions security before adoption. Trust tiers, risk assessment checklist, and decision tree for action evaluation.
testing
Securely store GitHub App credentials across different environments. GitHub Actions secrets, external CI, Kubernetes, and automated rotation patterns.