dot*_*dot 0 c# unit-testing azure azure-storage azure-storage-queues
我正在尝试找到一种方法来测试我拥有的一些代码,这些代码将查询天蓝色的存储队列。目前,我被要求创建自己的本地内存队列类来模拟上游 Azure 队列。此时,我试图看看是否可以在假队列中创建示例消息,以便我的类的被调用者有一些数据可以使用。
所以我正在尝试做这样的事情:
using Azure.Storage.Queues.Models;
namespace Widgets.Tests.Queues
{
public class InMemoryAzureMessageQueue : IAzureQueueClient
{
public string DequeueMessage(QueueMessage message)
{
throw new System.NotImplementedException();
}
public QueueMessage[] GetMessages()
{
//pseudocode
QueueMessage qm = new QueueMessage();
QueueMessage[] listqm = new QueueMessage[];
qm.messageID = xxx;
qm.messageBody = "hello";
listqm.add(qm);
return listqm;
}
public bool HasMesssages()
{
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试创建“qm”时,收到以下错误消息:“QueueMessage”不包含采用 0 个参数的构造函数
到目前为止我尝试过的:
我尝试在单击 QueueMessage 时“转到定义”,只是为了查看构造函数的外观。但是当我这样做时,我收到一条错误消息,指出没有找到定义。
该类的描述是这样说的:
The object returned in the QueueMessageList array when calling Get Messages on a Queue.
Run Code Online (Sandbox Code Playgroud)
也许我不能只创建这样的消息?
我对 .NET 和 Azure 的所有事物都很陌生。任何提示将不胜感激。
该类QueueMessage不包含可访问的构造函数。但是,您可以使用 构建消息QueuesModelFactory,该消息旨在模拟这些消息:
public QueueMessage[] GetMessages()
{
QueueMessage qm = QueuesModelFactory.QueueMessage(
messageId: "xxx",
popReceipt: "",
messageText: "hello",
dequeueCount: 0);
QueueMessage[] listqm = new QueueMessage[1];
listqm[0] = qm;
return listqm;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1932 次 |
| 最近记录: |