我正在做一个单元测试,但是我发现了我不理解的这种数据类型。Error:
Not equal:
expected: <nil>(<nil>)
actual : *pkgname.StructName((*pkgname.StructName)(nil))仅供参考,pkgname 是包的名称,StructName 是结构的名称如何创建具有相同数据类型和值“* pkgname.StructName((*pkgname.StructName)(nil)) ”的变量?它是指向 nil 值的结构指针吗?
1 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
您没有提及您使用哪个测试框架或方法,但从错误来看,最肯定的错误是您期望一个nil值(没有类型),并且您得到一个nil指针值,该指针值具有一个具有具体基类型的指针类型.
要修复它,您应该期望一个类型化的nil值,而不是一个nil接口值(没有类型)。
例如:
actualValue := ... // Execute function / method / whatever, obtain testable value
// Test it the way you do
// (Here I assume you do it with a function named expectEqual):
expectEqual((*pkgname.StructName)(nil), actualValue)
请注意,这(*pkgname.StructName)(nil)是一种类型转换,它将nil(指针)值转换为*pkgname.StructName指针类型。
- 1 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消
