表达式树不能包含使用moq框架中可选参数的调用或调用



在更新基于.netcore beta 5并更新为rc1的项目后出现moq问题。在更新之前,测试已经完成,现在我有一个错误:"表达式树可能不包含使用可选参数的调用或调用"。请帮我解决它。

[Fact]
public async void ReturnPostUserAnswerResult()
{
    // Arrange
    var mockSet = new Mock<DbSet<QuestionsToUsers>>();
    var _applicationDbContext = new Mock<ApplicationDbContext>();
    _applicationDbContext.Setup(a => a.QuestionToUsers).Returns(mockSet.Object);
    var controller = new UserQuizController(_applicationDbContext.Object);
    // Act
    var result = new QuestionsToUsers()
    {
        Answer = true,
        QuestionID = 99,
        TestpackID = 99,
        Id = 99,
        UserID = "TestUser"
    };
    await controller.PostUserAnswerResult(result);
    mockSet.Verify(m => m.Add(It.IsAny<QuestionsToUsers>())); //here error
}

有人问我这个问题已经有一段时间了,但今天我遇到了同样的问题。

在测试masstransit消费者时,我需要验证ConsumerContext<>。延时方法。

我刚换了

_mockConsumeContext.Verify(cc => cc.Defer(It.IsAny<TimeSpan>()), Times.Once);

_mockConsumeContext.VerifySet(cc => cc.Defer(It.IsAny<TimeSpan>()), Times.Once);

它解决了我的问题,也许也能解决你的问题。

相关内容

  • 没有找到相关文章

最新更新