Написание теста для пакета cobra-viper go - PullRequest
0 голосов
/ 09 ноября 2019

Я клонировал приложение go на основе кобры и гадюки. Здесь команды вызываются с помощью cli следующим образом:

./<my go tool> <command> --<command-flag1>

Фрагмент кода для этого кода выглядит следующим образом:

package cmd

import (
   "fmt"
   "os"
   "github.com/spf13/cobra"
   "github.com/spf13/viper"
)

var viperCon *viper.Viper
var cmd1 = &cobra.Command{
Use:   "cmd1",
Short: "Do xyz",
Long:  "Do xyz",
Run: func(cmd *cobra.Command, args []string) {
   config := getConfig(viperCon)
   res, err := myTool.ExecCmd(config)
   if err != nil {
     fmt.Println(err)
     os.Exit(1)
   }
 }

func init() {
  rootCmd.AddCommand(cmd)

  // set the config provided by the flags and default values
  viperCon = setConfig()
  ...
 }

Я собираюсь написать тесты для всех таких команд, чтобы увидеть,они работают нормально. Любая ссылка на указатель / код, касающаяся того, как начать, была бы отличной.

...