我尝试在我的 go 代码中实现一些单元测试,发现模拟方法的主题非常困难。我有以下示例,希望您能帮助我 :)
在第一层我有以下代码:
package api
import (
"fmt"
"core"
)
type createUserDTO struct {
Id string
}
func ApiMethod() {
fmt.Println("some incoming api call wit user")
incomingUserData := &createUserDTO{Id: "testId"}
mapedUser := incomingUserData.mapUser()
mapedUser.Create()
}
func (createUserDTO *createUserDTO) mapUser() core.User {
return &core.UserCore{Id: createUserDTO.Id}
}
第二层有如下代码:
package core
import (
"fmt"
)
type CoreUser struct{ Id string }
type User interface {
Create()
}
func (user CoreUser) Create() {
fmt.Println("Do Stuff")
}
我现在的问题是,如何在不测试核心包的情况下测试 api 包中的每个公共方法。特别是方法 Create()。
胡说叔叔
相关分类