如何为 ServiceBusReceivedMessage 的模拟设置正文

问题描述 投票:0回答:0

我正在尝试用身体为

mock
创造
ServiceBusReceivedMessage
。怎么做?

我有

data
变量,我想将其设置为消息正文,怎么办?

var data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(eventData));

        var message = new Mock<ServiceBusReceivedMessage>().Object;
        
//message.Body;

我试过下面的代码,编译没有错误,但是运行时报错:

System.NotSupportedException:不支持的表达式:x => x.Body 不可覆盖的成员(此处:ServiceBusReceivedMessage.get_Body)不得在设置/验证表达式中使用。

var mockMessage = new Mock<ServiceBusReceivedMessage>();
        var messageBody = new BinaryData(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(eventData)));
        mockMessage.Setup(x => x.Body).Returns(new BinaryData(messageBody));
        var message = mockMessage.Object;

这里有什么问题吗?

c# unit-testing moq
© www.soinside.com 2019 - 2024. All rights reserved.