add unit test for GetServiceTracing

This commit is contained in:
zhanghaiwen
2022-06-02 14:46:27 +08:00
parent 04d70b1db4
commit 02e99365c7
4 changed files with 188 additions and 25 deletions

View File

@@ -17,7 +17,9 @@ limitations under the License.
package reflectutils
import (
"fmt"
"reflect"
"unsafe"
)
func In(value interface{}, container interface{}) bool {
@@ -60,3 +62,15 @@ func Override(left interface{}, right interface{}) {
}
}
}
func SetUnExportedField(ptr interface{}, filedName string, newFiledValue interface{}) (err error) {
v := reflect.ValueOf(ptr).Elem().FieldByName(filedName)
v = reflect.NewAt(v.Type(), unsafe.Pointer(v.UnsafeAddr())).Elem()
nv := reflect.ValueOf(newFiledValue)
if v.Kind() != nv.Kind() {
return fmt.Errorf("kind error")
}
v.Set(nv)
return nil
}