在更新基于.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
}
答案 0 :(得分:0)
问了问题已经有一段时间了,但是今天我遇到了同样的问题。
在测试大众运输用户时,我需要验证ConsumeContext <> .Defer方法。
我刚刚改变了
_mockConsumeContext.Verify(cc => cc.Defer(It.IsAny<TimeSpan>()), Times.Once);
到
_mockConsumeContext.VerifySet(cc => cc.Defer(It.IsAny<TimeSpan>()), Times.Once);
它解决了我的问题,也许也可以解决您的问题。