我想模拟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;
}
4条答案
按热度按时间ffscu2ro1#
选择Mocking lib可能是一个固执己见的答案。有几个Mocking框架可用。其中一个流行的是Moq。
使用Moq,上面代码的示例测试如下所示。请注意,模拟存储库是一项有点乏味的任务。
wwwo4jvm2#
Queue模型的构造函数是内部的,但是您可以使用QueuesModelFactory创建对象,QueuesModelFactory提供了用于模拟的实用程序。
relj7zay3#
尝试模拟queueClient的响应,这将验证sendMessageAsync响应
sbtkgmzw4#