Documentation
¶
Overview ¶
Package testgen generates executable test stubs from TPD (Test Plan Document).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type APITestCase ¶
type APITestCase struct {
Endpoint string `json:"endpoint"`
Method string `json:"method"`
Scenario string `json:"scenario"`
ExpectedResponse string `json:"expected_response"`
Priority string `json:"priority"`
}
APITestCase represents an API-specific test case.
type GenerateOptions ¶
type GenerateOptions struct {
OutputDir string // Output directory for generated files
PackageName string // Package/module name
TestFramework string // testing, testify, jest, pytest
GroupBy string // type, file, priority
}
GenerateOptions configures test generation.
func DefaultOptions ¶
func DefaultOptions() GenerateOptions
DefaultOptions returns sensible defaults for generation.
type GenerateResult ¶
type GenerateResult struct {
Language string `json:"language"`
Framework string `json:"framework"`
OutputDir string `json:"output_dir"`
Files []GeneratedFile `json:"files"`
TotalTests int `json:"total_tests"`
GeneratedAt time.Time `json:"generated_at"`
}
GenerateResult contains the output of test generation.
type GeneratedFile ¶
type GeneratedFile struct {
Path string `json:"path"`
TestCount int `json:"test_count"`
Content string `json:"-"` // Content not included in JSON
}
GeneratedFile represents a generated test file.
type Generator ¶
type Generator interface {
// Generate generates test stubs from parsed test cases.
Generate(cases []TestCase, opts GenerateOptions) (*GenerateResult, error)
// Language returns the target language name.
Language() string
}
Generator defines the interface for test stub generators.
type GoGenerator ¶
type GoGenerator struct{}
GoGenerator generates Go test stubs.
func (*GoGenerator) Generate ¶
func (g *GoGenerator) Generate(cases []TestCase, opts GenerateOptions) (*GenerateResult, error)
Generate creates Go test files from test cases.
func (*GoGenerator) Language ¶
func (g *GoGenerator) Language() string
Language returns the language name.
type JourneyTestCase ¶
type JourneyTestCase struct {
Journey string `json:"journey"`
Steps []string `json:"steps"`
Assertions []string `json:"assertions"`
Priority string `json:"priority"`
}
JourneyTestCase represents a user journey test case.
type ParsedTPD ¶
type ParsedTPD struct {
FunctionalTests []TestCase `json:"functional_tests"`
APITests []APITestCase `json:"api_tests"`
JourneyTests []JourneyTestCase `json:"journey_tests"`
}
ParsedTPD contains all test cases parsed from a TPD document.
func (*ParsedTPD) AllTestCases ¶
AllTestCases returns all test cases as a flat list.
func (*ParsedTPD) TestsByPriority ¶
TestsByPriority groups test cases by priority.
func (*ParsedTPD) TestsByType ¶
TestsByType groups test cases by type.
type PythonGenerator ¶
type PythonGenerator struct{}
PythonGenerator generates Python/pytest test stubs.
func (*PythonGenerator) Generate ¶
func (g *PythonGenerator) Generate(cases []TestCase, opts GenerateOptions) (*GenerateResult, error)
Generate creates Python test files from test cases.
func (*PythonGenerator) Language ¶
func (g *PythonGenerator) Language() string
Language returns the language name.
type TestCase ¶
type TestCase struct {
ID string `json:"id"` // TC-001, API-001
Title string `json:"title"` // Test case title
Type TestType `json:"type"` // functional, api, integration, e2e, performance
Input string `json:"input"` // Test input description
Expected string `json:"expected"` // Expected output/result
Priority string `json:"priority"` // P0, P1, P2
Steps []string `json:"steps"` // Test steps
SourceRef string `json:"source_ref"` // REQ-XXX traceability
}
TestCase represents a single test case extracted from TPD.
type TypeScriptGenerator ¶
type TypeScriptGenerator struct{}
TypeScriptGenerator generates TypeScript/Jest test stubs.
func (*TypeScriptGenerator) Generate ¶
func (g *TypeScriptGenerator) Generate(cases []TestCase, opts GenerateOptions) (*GenerateResult, error)
Generate creates TypeScript test files from test cases.
func (*TypeScriptGenerator) Language ¶
func (g *TypeScriptGenerator) Language() string
Language returns the language name.