feat: add run subcommand

This commit is contained in:
debugtalk
2021-10-10 14:49:38 +08:00
parent 1a3a714929
commit efc088f87a
2 changed files with 41 additions and 7 deletions

View File

@@ -12,14 +12,13 @@ import (
// rootCmd represents the base command when called without any subcommands
var rootCmd = &cobra.Command{
Use: "httpboomer",
Short: "httpboomer = httprunner + boomer",
Long: `HttpBoomer is a golang implementation of HttpRunner.
Ideally, HttpBoomer will be fully compatible with HttpRunner, including testcase format and usage.
What's more, HttpBoomer will integrate Boomer natively to be a better load generator for locust.`,
Short: "One-stop solution for HTTP(S) testing.",
Long: `HttpBoomer is the next generation for HttpRunner. Enjoy! ✨ 🚀 ✨
License: Apache-2.0
Github: https://github.com/httprunner/httpboomer
Copyright 2021 debugtalk`,
Version: httpboomer.VERSION,
// Uncomment the following line if your bare application
// has an action associated with it:
// Run: func(cmd *cobra.Command, args []string) {},
}
// Execute adds all child commands to the root command and sets flags appropriately.

35
cmd/run.go Normal file
View File

@@ -0,0 +1,35 @@
package cmd
import (
"testing"
"github.com/spf13/cobra"
"github.com/httprunner/httpboomer"
)
// runCmd represents the run command
var runCmd = &cobra.Command{
Use: "run path...",
Short: "run API test",
Long: `run yaml/json testcase files`,
Example: ` $ httpboomer run demo.json # run specified json testcase file
$ httpboomer run demo.yaml # run specified yaml testcase file
$ httpboomer run examples/ # run testcases in specified folder`,
RunE: func(cmd *cobra.Command, args []string) error {
// f, _ := cmd.Flags().GetBool("gen-html-report")
// fmt.Println(f)
var paths []httpboomer.ITestCase
for _, arg := range args {
paths = append(paths, &httpboomer.TestCasePath{Path: arg})
}
return httpboomer.Run(&testing.T{}, paths...)
},
}
func init() {
rootCmd.AddCommand(runCmd)
runCmd.Flags().BoolP("gen-html-report", "r", false, "Generate HTML report")
}