我在通过此测试时遇到问题。问题是,Write()
我的结构体中的方法需要写入属性,但io.Writer
接口不接受指针作为其接收者。
filelogger.go:
package logger
import (
"io"
)
type FileLogger struct{
File io.Writer
}
func NewFileLogger(file io.Writer) *FileLogger{
return &FileLogger{file}
}
func (this *FileLogger) Log(message string) error {
_, err := this.File.Write([]byte(appendNewLine(message)))
return err
}
filelogger_test.go:
package logger
import (
"testing"
"github.com/stretchr/testify/assert"
)
type WriterMock struct{
data []byte
}
func (this WriterMock) Write(b []byte) (n int, err error) {
this.data = append(this.data, b ...)
return len(this.data), nil
}
func NewMockedFileLogger() *FileLogger{
writer := WriterMock{}
fileLogger := FileLogger{writer}
return &fileLogger
}
func TestLog(t *testing.T) {
fileLogger := NewMockedFileLogger()
fileLogger.Log("Hello World!")
assert.Equal(t, "Hello World!", string(fileLogger.File.(WriterMock).data))
}
测试输出:
--- FAIL: TestLog (0.00 seconds)
Location: filelogger_test.go:32
Error: Not equal: "Hello World!" (expected)
!= "" (actual)
FAIL
正如我提到的,data []byte
不会被写入,因为我无法将函数接收器设置为指针,因为它不能满足io.Writer
。
如果继续使用一个 指针 来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
实例。
如何通过不同的测试数据在Playwright测试运行测试?比如从CSV文件发送测试数据?
我尝试使用MockMVC和TestRestTemboard。在这两种情况下,返回的响应都是404,但是APIendpoint在集成测试之外工作(当我自己运行Spring应用时)。 有没有人有一个可以工作的示例应用程序,它使用SpringDataREST对生成的控制器进行了工作集成测试? 我还可以编写针对自己控制器的常规集成测试(非SDR类型) 测试代码: 回购: 好的,我发现了问题,但我不知道答案
问题内容: 我们使用“grandor”测试内部AngularJS应用程序。 除了功能测试之外,我们还可以在 是什么 基于nodejs 图书馆。“因为是表演 功能“. 使用“detactor perf”,我们可以测量和断言不同的性能 进行浏览器操作时的特征,针对 示例: 现在,对于另一个内部应用程序,我们有一组基于硒的测试 用Python编写。 是否可以使用selenium python检查性能回归
15min 1.自我介绍 2.你实习做的自动化测试用的什么工具? 3.为什么辞掉上一份实习? 4.大学绩点、参加的竞赛、得过的奖项 5.对测试了解的多吗?测试流程可以说一下吗? 6.测试用例和缺陷管理了解吗? 7.测试用例有哪些字段/元素? 8.提的bug单有哪些内容? 9.反问(to c的业务,一天大概5000的单量,海外运营订单流转等。Web端、移动端、自动化测试都有。主要是功能测试,测试工具
主要内容:功能测试的目标功能测试是软件测试的一个分支,旨在验证软件应用程序的功能,而不管功能是否根据需求规范运行。通过给出适当的输入值,确定输出并使用预期输出验证实际输出来测试每个功能。 功能测试包括通过GUI(图形用户界面),API(应用程序接口),安全性,数据库,客户端应用程序,服务器应用程序和应用程序功能进行测试。黑盒测试方法用于功能测试,其中测试内部逻辑的工作而不窥视内部代码。 功能测试的目标 功能测试的目标是检
性能测试应该有两个方向: 单接口压力测试 生产环境模拟用户操作高压力测试 生产环境模拟测试,目前我们都是交给公司的 QA 团队专门完成的。这块我只能粗略列举一下: 获取 1000 用户以上生产用户的访问日志(统计学要求 1000 是最小集合) 计算指定时间内(例如 10 分钟),所有接口的触发频率 使用测试工具(loadrunner, jmeter 等)模拟用户请求接口 适当放大压力,就可以模拟