使用相对于项目地址的配置文件路径以便于单元测试
This commit is contained in:
@@ -1,21 +1,25 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
var Viper *viper.Viper
|
||||
var (
|
||||
_, b, _, _ = runtime.Caller(0)
|
||||
Root = filepath.Join(filepath.Dir(b), "..")
|
||||
Viper *viper.Viper
|
||||
)
|
||||
|
||||
func init() {
|
||||
//如果命令行参数中有test,则使用测试环境的配置
|
||||
var config_file string = "./data/config.yaml"
|
||||
if len(os.Args) > 1 && os.Args[1] == "test" {
|
||||
log.Println("使用测试环境配置")
|
||||
config_file = "./data/config_test.yaml"
|
||||
}
|
||||
config_file := filepath.Join(Root, "data", "config.yaml")
|
||||
fmt.Println(config_file)
|
||||
|
||||
viper.SetConfigFile(config_file)
|
||||
if err := viper.ReadInConfig(); err != nil {
|
||||
log.Println("读取配置文件失败", err)
|
||||
|
@@ -29,6 +29,10 @@ func elasticsearch_init() (es *elasticsearch.Client) {
|
||||
return es
|
||||
}
|
||||
|
||||
type SearchData struct {
|
||||
Total int64 `json:"total"`
|
||||
}
|
||||
|
||||
func ElasticsearchSearch(text string) map[string]interface{} {
|
||||
var (
|
||||
r map[string]interface{}
|
||||
|
16
models/elasticsearch_test.go
Normal file
16
models/elasticsearch_test.go
Normal file
@@ -0,0 +1,16 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestMyFunction(t *testing.T) {
|
||||
// 创建一个测试用例
|
||||
expected := 10
|
||||
actual := ElasticsearchSearch("豌豆")
|
||||
|
||||
// 使用 assert 包中的函数来验证函数的输出
|
||||
assert.Equal(t, expected, actual)
|
||||
}
|
Reference in New Issue
Block a user