11package envutils
22
33import (
4+ "log"
45"os"
56"testing"
67
7- "log"
8-
98"gopkg.in/yaml.v3"
109)
1110
@@ -22,14 +21,19 @@ type addr struct {
2221School string `env:"school"`
2322}
2423
24+ var (
25+ _ = os .Setenv ("APP__Stud01_Name" , "zhugeliang" )
26+ _ = os .Setenv ("APP__Stud01_Age" , "500" )
27+ _ = os .Setenv ("APP__Stud01_Gender" , "true" )
28+ _ = os .Setenv ("APP__Stud01__addr_home" , "addr: sichuan" )
29+ _ = os .Setenv ("APP__Stud01__addr2_home" , "addr2: sichuan" )
30+ _ = os .Setenv ("APP__Addr_home" , "zhongguo,sichuan,chengdu" )
31+ _ = os .Setenv ("APP__Addr_Home" , "APP__Addr_Home" )
32+
33+ APPNAME = "APP"
34+ )
35+
2536func Test_marshal (t * testing.T ) {
26- os .Setenv ("APP__Stud01_Name" , "zhugeliang" )
27- os .Setenv ("APP__Stud01_Age" , "500" )
28- os .Setenv ("APP__Stud01_Gender" , "true" )
29- os .Setenv ("APP__Stud01__addr_home" , "addr: sichuan" )
30- os .Setenv ("APP__Stud01__addr2_home" , "addr2: sichuan" )
31- os .Setenv ("APP__Addr_home" , "zhongguo,sichuan,chengdu" )
32- os .Setenv ("APP__Addr_Home" , "APP__Addr_Home" )
3337stu := student {
3438Name : "zhangsan2" ,
3539Age : 20 ,
@@ -43,39 +47,40 @@ func Test_marshal(t *testing.T) {
4347School : "chengdu" ,
4448},
4549}
46-
47- // stu02 := student{}
48-
4950config := & struct {
5051Stud01 * student
51- // Person student
52- Addr addr
53- // Stud02 *student
54- // Address addr
52+ Addr addr
5553}{
5654Stud01 : & stu ,
57- // Person: stu,
58- Addr : addr {},
59- // Stud02: &stu02,
55+ Addr : addr {},
6056}
6157
62- /* public */
63- var b []byte
64- var err error
65-
6658/* marshal */
67- b , _ = Marshal (config , "APP" )
59+ b , _ : = Marshal (config , "APP" )
6860_ = Output (b , os .Stdout )
6961
62+ }
63+
64+ func Test_LoadEnv (t * testing.T ) {
65+ stu := student {}
66+ config := & struct {
67+ Stud01 * student
68+ Addr addr
69+ }{
70+ Stud01 : & stu ,
71+ Addr : addr {},
72+ }
73+
74+ LoadEnv (config , APPNAME )
7075/* unmarshal */
71- err = unmarshal (config , "APP" )
72- // fmt.Println(err)
76+ err := LoadEnv (config , APPNAME )
7377if err != nil {
74- log .Fatal (err . Error () )
78+ log .Fatal (err )
7579}
76- b , err = yaml .Marshal (config )
80+
81+ b , err := yaml .Marshal (config )
7782if err != nil {
78- log .Fatal (err . Error () )
83+ log .Fatal (err )
7984}
8085_ = Output (b , os .Stdout )
8186}
0 commit comments