提问人:Alvin Shaita 提问时间:11/18/2023 最后编辑:Ken WhiteAlvin Shaita 更新时间:11/18/2023 访问量:39
模拟函数的返回值 [closed]
mock a function's return value [closed]
问:
我正在尝试使用 testify 模拟简单函数的返回值
package main
func One(str string) string {
return str
}
func Two(str string) string {
oneRes := One(str)
return str+oneRres
}
我正在尝试让函数返回字符串,即使我将字符串传递给函数One
one
two
Two
我试过以这种方式嘲笑该值
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"fmt"
)
type MockOne struct {
mock.Mock
}
// Mocking the One function
func (m *MockOne) One() string {
args := m.Called()
return args.String(0)
}
func TestTwo(t *testing.T) {
// Create an instance of the mocked object
mockedOne := new(MockOne)
// Set expectations for the mocked function
mockedOne.On("One").Return("one") // Define the expected return value
twoRes := Two("two")
fmt.Println("Return value:", twoRes)
assert.Equal(t, Two("two"), "twoone", "result should equal twoone")
}
我不确定我是否在做正确的事情,或者是否有可能,但是当我尝试模拟 的返回值时,它不会返回预期值。
输出是静止的,而不是静止的One
twotwo
twoone
答: 暂无答案
评论