【发布时间】:2018-12-10 10:38:41
【问题描述】:
我正在尝试使用 Moq nuget 包对我的 RabbitMQ 交换和队列进行单元测试。但无论我如何尝试以及使用多少谷歌,我都无法理解我应该如何模拟 rabbitMQ 对象。 任何指向单元测试新手的任何指针,模型???
我尝试过像这样使用 nuget 包 RabbitMQ.Fakes:
[TestMethod]
public void testconnectionnotnull()
{
FakeConnectionFactory factory = new FakeConnectionFactory();
IConnection connection = factory.CreateConnection();
NUnit.Framework.Assert.That(connection.IsOpen);
NUnit.Framework.Assert.That(factory.Connection,
NUnit.Framework.Assert.AreSame(connection));
}
但是当我创建IConnection 时,我收到以下错误:
System.TypeLoadException:“RabbitMQ.Fakes,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”程序集类型“RabbitMQ.Fakes.FakeModel”的“方法“CreateBasicPublishBatch”未实现。”
我也尝试过仅实例化一个标准模拟对象,但我找不到正确的方法来执行此操作并能够使用它。
[TestMethod]
public void TestFactoryNotNull()
{
Mock<Rabbit_Recieve> mock = new Mock<Rabbit_Recieve>();
}
【问题讨论】:
-
发布您的代码...您尝试过的内容以及卡住的具体部分
-
当然,我已经删除了我所有的尝试(尝试关注其他内容,却发现我无法使用它)但我尝试再次重新创建我的错误,并且现在更新帖子跨度>
-
您实际上想测试什么?通常没有很多有效的单元测试用例依赖于消息代理。
-
单元测试不是我的强项,所以说实话...我不确定我要测试什么。这是一个学校项目的一部分,我们被告知要对我们软件的不同部分进行单元测试。我在想,也许要确保有一个开放的连接,以及其他基础知识。我确实有一个案例,如果我的队列中有指定数量的调用,我需要实例化我们的微服务的一个新实例。
标签: c# unit-testing rabbitmq moq