github.com/golang-infrastructure/go-reflect-utils@v0.0.0-20221130143747-965ef2eb09c3/struct_test.go (about)

     1  package reflect_utils
     2  //
     3  //import (
     4  //	"github.com/CC11001100/go-reflect-utils/test"
     5  //	"github.com/stretchr/testify/assert"
     6  //	"testing"
     7  //)
     8  //
     9  //func TestGetStructPtrUnExportedField(t *testing.T) {
    10  //
    11  //	bar1 := "CC11001100"
    12  //	bar2 := "bar2"
    13  //
    14  //	// case 001. 尝试从struct上获取一个存在的未导出字段
    15  //	field := GetStructPtrUnExportedField(test.NewFoo(bar1, bar2), "bar1")
    16  //	assert.Equal(t, bar1, field.String())
    17  //
    18  //	// case 002. 尝试从struct上获取一个存在的导出字段
    19  //	field = GetStructPtrUnExportedField(test.NewFoo(bar1, bar2), "Bar2")
    20  //	assert.Equal(t, bar2, field.String())
    21  //
    22  //	// case 003. 尝试从struct上获取一个不存在的字段
    23  //	field = GetStructPtrUnExportedField(test.NewFoo(bar1, bar2), "bar3")
    24  //	assert.False(t, field.IsValid())
    25  //
    26  //}