如果继续使用一个 指针 来
WriterMock,它应该工作:
func NewMockedFileLogger() *FileLogger{ writer := &WriterMock{} fileLogger := FileLogger{writer} return &fileLogger}然后:
assert.Equal(t, "Hello World!", string(fileLogger.File.(*WriterMock).data))
我错过了:
func (this *WriterMock) Write(b []byte) (n int, err error) {...}您需要调用
Write()指针接收器,而不是值接收器。
由于所有内容都是通过Go中的值传递的,因此使用值接收器将 复制 该
WriterMock实例。



