【发布时间】:2020-11-27 14:39:47
【问题描述】:
我想模拟 QueueMessage 进行单元测试,但我找不到任何要模拟的库
public async Task<QueueMessage[]> ReceiveMessagesAsync(QueueClient queue)
{
QueueProperties properties = queue.GetProperties();
// Retrieve the cached approximate message count.
int cachedMessagesCount = properties.ApproximateMessagesCount;
QueueMessage[] queueMessages =new QueueMessage[cachedMessagesCount];
int num = cachedMessagesCount / 32;
for (int i = 0; i < num + 1; i++)
{
var messages = await queue.ReceiveMessagesAsync(maxMessages: 32);
messages.Value.CopyTo(queueMessages,i*32);
}
return queueMessages;
}
【问题讨论】:
-
模拟 EAI 系统 的各个方面有什么意义?消息只是信封。你想要有效载荷。测试有效载荷的处理程序不是更好吗? well-written system 的业务逻辑应该与任何 EAI 系统解耦
-
@MickyD 感谢您的评论!你真的明白了,我通过返回 QueueMessage.MessageText 而不是对象本身解决了这个不需要的问题。绝对正确的观点,需要考虑!
标签: c# azure azure-storage xunit