mock

package
v1.3.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CmdMock = &cobra.Command{
	Use:     "mock [path...]",
	Short:   "Generate mock code using mockgen and go:generate",
	Long:    "kun mock executes //go:generate directives to generate mock code.",
	Example: "  kun mock\n  kun mock ./internal/service/svc/...\n  kun mock ./internal/service/svc/demo.go\n  kun mock -r mockgen",
	RunE: func(cmd *cobra.Command, args []string) error {
		if _, err := exec.LookPath("mockgen"); err != nil {
			return fmt.Errorf("mockgen is not installed or not in PATH, please install it: go install %s", config.MockgenUrl)
		}

		cmdArgs, programArgs := helper.SplitArgs(cmd, args)

		genArgs := []string{"generate"}
		if runRegex != "" {
			genArgs = append(genArgs, "-run="+runRegex)
		}
		if verbose {
			genArgs = append(genArgs, "-v")
		}
		if printCmd {
			genArgs = append(genArgs, "-x")
		}

		if len(cmdArgs) > 0 {
			genArgs = append(genArgs, cmdArgs...)
		} else {
			genArgs = append(genArgs, "./...")
		}

		if len(programArgs) > 0 {
			genArgs = append(genArgs, programArgs...)
		}

		output.Success("running: go %s", strings.Join(genArgs, " "))

		execCmd := exec.Command("go", genArgs...)
		execCmd.Stdout = os.Stdout
		execCmd.Stderr = os.Stderr
		if err := execCmd.Run(); err != nil {
			return fmt.Errorf("generate mock error: %w", err)
		}

		output.Success("mock generated successfully!")
		return nil
	},
}

Functions

func Register

func Register(parent *cobra.Command)

Register 将 mock 子命令挂载到 parent。

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL