【发布时间】:2015-11-25 19:16:15
【问题描述】:
在更新基于 .netcore beta 5 并更新到 rc1 的项目后,起订量出现问题。在更新之前,进行了测试,现在我有错误:“表达式树可能不包含使用可选参数的调用或调用”。请帮我解决它。
[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
}
【问题讨论】:
-
那么
Add方法(DbSet<>)现在的签名是什么?您会收到此线程当前标题中提到的编译时错误,因为Add有一个可选参数。您必须在 lambda 中明确给出可选值,或者使用It.IsAny<>()。
标签: asp.net unit-testing moq xunit