如何解决redis缓存的单元测试
我正在尝试为以下代码编写单元测试,但无法
留言: 测试方法 DemoService.UnitTest.Common.RedisCacheTests.RemoveAllasynctest.WhenTheMethodisInvoked_ShouldRemoveAllKey 抛出异常: Moq.MockException:IAsyncEnumerable.GetAsyncEnumerator(CancellationToken) 调用失败,模拟行为严格。 模拟上的所有调用都必须有相应的设置。
C# 代码
var keys = await _redisConnection.GetServer(endPoint)
.KeysAsync(pattern: cacheKey.ToString())
.ToListAsync();
对于上面的代码,我试图像下面那样模拟
var mockServer = new Mock<IServer>(MockBehavior.Strict);
var mockRedisKey = new Mock<IAsyncEnumerable<RedisKey>>(MockBehavior.Strict);
mockServer.Setup(x => x.KeysAsync(It.IsAny<int>(),It.IsAny<RedisValue>(),It.IsAny<int>(),It.IsAny<long>(),It.IsAny<CommandFlags>())).Returns(mockRedisKey.Object);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。