Documentation
¶
Index ¶
Examples ¶
Constants ¶
View Source
const ( PresetDDD = presets.PresetDDD PresetCleanArch = presets.PresetCleanArch PresetLayered = presets.PresetLayered PresetHexagonal = presets.PresetHexagonal PresetModularMonolith = presets.PresetModularMonolith PresetConsumerWorker = presets.PresetConsumerWorker PresetBatch = presets.PresetBatch PresetEventPipeline = presets.PresetEventPipeline )
Variables ¶
This section is empty.
Functions ¶
func ArchitectureTest ¶
func ArchitectureTest(preset Preset, opts ArchitectureTestOptions) (string, error)
ArchitectureTest returns a ready-to-copy architecture_test.go source file for the selected preset. PackageName must be a valid Go package identifier such as "myapp_test".
Example ¶
package main
import (
"fmt"
"strings"
"github.com/NamhaeSusan/go-arch-guard/scaffold"
)
func main() {
src, err := scaffold.ArchitectureTest(scaffold.PresetHexagonal, scaffold.ArchitectureTestOptions{
PackageName: "myapp_test",
})
if err != nil {
fmt.Println(err)
return
}
fmt.Println(strings.Contains(src, "arch := presets.Hexagonal()"))
fmt.Println(strings.Contains(src, "rules := presets.RecommendedHexagonal()"))
fmt.Println(strings.Contains(src, "func TestArchitecture"))
}
Output: true true true
Types ¶
type ArchitectureTestOptions ¶
type ArchitectureTestOptions struct {
// PackageName is the Go package identifier for the generated test file.
// Required.
PackageName string
// InternalRoot is the project-relative directory under which packages
// live. Optional — defaults to "internal" so existing scaffolds emit
// the canonical pattern. Set to "packages", "src", etc. to match a
// non-standard layout. Must be a single forward-slash-free segment.
InternalRoot string
}
ArchitectureTestOptions controls generated architecture_test.go output.
Click to show internal directories.
Click to hide internal directories.