使用相对于项目地址的配置文件路径以便于单元测试
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