单元测试中使用Run()调用子测试函数,直接运行test文件无法得到结果,终端运行可以,请问原因?
1. 运行环境
windows下的goland2022.1 Go版本:1.18
2. 问题描述?
单元测试中使用Run()调用子测试函数,直接运行test文件无法得到结果,终端使用go test运行可以,请问原因?请问如果使直接运行test文件得到正确结果?
package main
import (
"fmt"
"testing"
)
func TestUser(t *testing.T) {
fmt.Println("开始测试User中的测试方法")
//通过t.Run()来执行子测试函数
t.Run("测试子测试函数:", testAddUser)
}
func testAddUser(t *testing.T) {
fmt.Println("子测试函数执行:")
}
3. 您期望得到的结果?
使用终端运行得到正确结果,期望直接运行go文件也可以得到正确结果
4. 您实际得到的结果?
子测试函数一直转圈,无法显示正确结果
t.Run("测试子测试函数:", testAddUser) 并没有执行,需要加上括号