【发布时间】:2017-03-25 09:35:39
【问题描述】:
我在这样的接口中有一个方法:
Task<bool> IsStudentAuthorizedAsync(StudentEntity studentEntity);
实现:
public async Task<bool> IsStudentAuthorizedAsync(StudentEntity studentEntity)
{
// Check if the Student is activated for course
var checkStudentForCourseTask = await this.CheckIfStudentIsEnabledForCourseAsync(studentEntity).ConfigureAwait(false);
return checkStudentForCourseTask;
}
private async Task<bool> CheckIfStudentIsEnabledForCourseAsync(StudentEntity studentEntity)
{
var result = await this.tableStorage.RetrieveAsync<StudentTableEntity>(StudentEntity.Id, StudentEntity.CourseId, this.tableName).ConfigureAwait(false);
return result != null && result.IsActivated;
}
CheckIfStudentIsEnabledForCourseAsync 是私有方法,通过查询 Azure 表存储进行检查。
我正在尝试对 IsStudentAuthorizedAsync 进行单元测试,但在初始设置调用后无法继续。
[TestClass]
public class AuthorizeStudentServiceBusinessLogicTests
{
private Mock<IAuthorizeStudentServiceBusinessLogic> authorizeStudentServiceBusinessLogic;
[TestMethod]
public async Task IsStudentAuthorizedForServiceAsyncTest()
{
this.authorizeStudentServiceBusinessLogic.Setup(
x => x.IsStudentAuthorizedAsync(It.IsAny<StudentEntity>()))
.Returns(new Task<bool>(() => false));
// What to do next!!!
}
}
非常感谢任何帮助,并将帮助我开始这条道路。 提前致谢。
问候。
【问题讨论】:
标签: unit-testing asynchronous moq