在我的c#测试中有以下Mock:
private Mock<Offset> _mockOffsetPosition = new Mock<Offset>(50);
Offset
是一个Confluent.Kafka.Offset结构体
它给了我这个错误:
CS0452:类型'Offset'必须是引用类型,以便将其用作泛型类型或方法'Mock'中的参数'T'
如何解决这个问题?
你不能嘲笑它。让我们看看什么是嘲讽:
在单元测试中,模拟对象可以模拟complex的行为,真实对象因此,当实际对象不实际或不可能合并时,非常有用。
所以不是mock,而是用你需要的值初始化,然后传递真正的结构体。对于所有的值类型都应该是这样。
private Offset _mockOffsetPosition = new Offset(50);