go test 的内联问题

数据库68

写单测的时候遇到一个问题,在使用 gomonkey 进行打桩时,使用 gland 的 debug 运行测试时,测试程序正常跑通,而使用 run 或者命令行运行 go test -v 时会在打桩函数调用的时候报错 invalid memory address or nil pointer dereference

单测代码

```go
func TestLogin(t *testing.T) {
// 初始化 dao 层
userDao := &daoUser.UserDao{}
// 初始化 service 层
entity := &LoginService{}

Convey("GetUserByUsername", t, func() {
    Convey("Should be success", func() {
                    // 给 GetByUsername 函数打桩,指定返回值
        patches := ApplyMethod(reflect.TypeOf(UserDao), "GetByUsername",
            func(*daoUser.UserDao, string) (*daoUser.User, error) {
                return &daoUser.User{
                    ID:       1,
                    Username: "weirwei",
                    Password: "123456",
输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长