接口单元测试案例
接口:
/// <summary>
/// 获取“我的收藏”页面数据-H5
/// </summary>
[HttpGet]
[Route("api/UserCollectQuestion/ExamPaperListForH5")]
public ResponseMessage GetCollectExamPaperListForH5([FromUri]ReqGetCollectExamPaperListForH5 req)
{
var response = new RespGetCollectExamPaperListForH5();
var result = new ResponseMessage()
{
Msg = false,
Message = CommonMessage.GetFailure,
ResultCode = (int)EnumsHelper.MessageResultCode.OperateError,
Info = response
};
if (req == null)
{
return result;
}
if (req.Token.Equals(CommonConst.TokenForVisitor))
{
result.Msg = true;
result.Message = CommonMessage.GetSuccess;
result.ResultCode = (int)EnumsHelper.MessageResultCode.OperateSuccess;
return result;
}
var userId = RedisInfoHelper.GetUserIdByToken(req.Token);
var paperList = UserCollectQuestionService.GetCollectExamPaperListForH5(userId, req.TrainingInstitutionId, req.ClassId, req.PaperType);
MakeGetCollectExamPaperListForH5(response, paperList);
result.Msg = true;
result.Message = CommonMessage.GetSuccess;
result.ResultCode = (int)EnumsHelper.MessageResultCode.OperateSuccess;
return result;
}
/// <summary>
/// 构造获取“我的收藏”页面数据
/// </summary>
/// <param name="response"></param>
/// <param name="paperList"></param>
private void MakeGetCollectExamPaperListForH5(RespGetCollectExamPaperListForH5 response, List<MGetCollectExamPaperListForH5> paperList)
{
if (paperList.Any())
{
foreach (var item in paperList)
{
var collectCourse = response.CourseList.FirstOrDefault(n => n.CourseId == item.CourseId);
if (collectCourse == null)
{
collectCourse = new CollectCourse();
collectCourse.CourseId = item.CourseId;
collectCourse.CourseName = item.CourseName;
collectCourse.CollectExamPaperList = new List<CollectExamPaper>();
response.CourseList.Add(collectCourse);
}
var collectExamPaper = new CollectExamPaper();
collectExamPaper.PaperId = item.PaperId;
collectExamPaper.PaperName = item.PaperName;
collectExamPaper.CollectQuestionCount = item.CollectQuestionCount;
collectCourse.CollectExamPaperList.Add(collectExamPaper);
}
}
}
接口单元测试
#region GetCollectExamPaperList
1、
/// <summary>
/// GetCollectExamPaperList 传空参数 para = null
/// panxiaoming 20190110 添加
/// </summary>
[TestMethod()]
public void GetCollectExamPaperList_WithNullParam_ExceptFalseResponse()
{
//解决跨域报错问题
HttpContext.Current = new HttpContext(new HttpRequest(null, TestCommonVariablesHelper.TEST_HTTP_REQUEST_URL, null),
new HttpResponse(null));
//Arrange:1 设置请求参数
ReqGetCollectExamPaperList reqGetUserTestPaperListModel = null;
//Arrange:2 期望数据/期望返回数据
var respStrExpected =
JsonHelper.toJson(new ResponseMessage()
{
Msg = false,
Message = CommonMessage.GetFailure,
ResultCode = (int)EnumsHelper.MessageResultCode.OperateError,
Info = new RespGetUserTestPaperList()
}).Content.ReadAsStringAsync().Result;
var mockMGetUserTestPaperList = new List<MGetUserTestPaperList>();
//Arrange:3 mockDB&act
var examControllerClass = new UserCollectQuestionController();
mockItQuestionService
.Setup(x => x.GetUserCollectTestPaperList(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>()))
.Returns(mockMGetUserTestPaperList);
examControllerClass.QuestionService = mockItQuestionService.Object;
var execResult =
JsonHelper.toJson(examControllerClass.GetCollectExamPaperList(reqGetUserTestPaperListModel))
.Content.ReadAsStringAsync()
.Result;
//Arrange:4 Assert
Assert.AreEqual(respStrExpected, execResult, true);
}
2、
/// <summary>
/// GetCollectExamPaperList 传空参数 para = new ReqGetUserTestPaperList()
/// panxiaoming 20190110 添加
/// </summary>
[TestMethod()]
public void GetCollectExamPaperList_WithEmptyParam_ExceptTrueResponse()
{
//解决跨域报错问题
HttpContext.Current = new HttpContext(new HttpRequest(null, TestCommonVariablesHelper.TEST_HTTP_REQUEST_URL, null),
new HttpResponse(null));
//Arrange:1 设置请求参数
var reqGetUserTestPaperListModel = new ReqGetCollectExamPaperList();
//Arrange:2 期望数据/期望返回数据
var respStrExpected =
JsonHelper.toJson(new ResponseMessage()
{
Msg = true,
Message = CommonMessage.GetSuccess,
ResultCode = (int)EnumsHelper.MessageResultCode.OperateSuccess,
Info = new RespGetUserTestPaperList()
}).Content.ReadAsStringAsync().Result;
var mockMGetTestPaperDetail = new List<MGetUserTestPaperList>();
//Arrange:3 mockDB&act
var examControllerClass = new UserCollectQuestionController();
mockItQuestionService
.Setup(x => x.GetUserCollectTestPaperList(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>()))
.Returns(mockMGetTestPaperDetail);
examControllerClass.QuestionService = mockItQuestionService.Object;
var execResult =
JsonHelper.toJson(examControllerClass.GetCollectExamPaperList(reqGetUserTestPaperListModel))
.Content.ReadAsStringAsync()
.Result;
//Arrange:4 Assert
Assert.AreEqual(respStrExpected, execResult, true);
}
3、
/// <summary>
/// GetCollectExamPaperList 正常传参
/// panxiaoming 20190110 添加
/// </summary>
[TestMethod()]
public void GetCollectExamPaperList_WithNormalParamForCollectionType_ExceptTrueResponse()
{
//解决跨域报错问题
HttpContext.Current = new HttpContext(new HttpRequest(null, TestCommonVariablesHelper.TEST_HTTP_REQUEST_URL, null),
new HttpResponse(null));
//Arrange:1 设置请求参数
var reqGetUserTestPaperListModel = new ReqGetCollectExamPaperList
{
Token = String.Empty,
PaperType = 1,
CourseId = TestCommonVariablesHelper.CourseId0,
Page = TestCommonVariablesHelper.Page0,
PageSize = TestCommonVariablesHelper.PageSize10
};
//Arrange:2 期望数据/期望返回数据
var respStrExpected =
JsonHelper.toJson(new ResponseMessage()
{
Msg = true,
Message = CommonMessage.GetSuccess,
ResultCode = (int)EnumsHelper.MessageResultCode.OperateSuccess,
Info = new RespGetUserTestPaperList()
}).Content.ReadAsStringAsync().Result;
var mockMGetTestPaperDetail = new List<MGetUserTestPaperList>();
//Arrange:3 mockDB&act
var examControllerClass = new UserCollectQuestionController();
mockItQuestionService
.Setup(x => x.GetUserCollectTestPaperList(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<int>()))
.Returns(mockMGetTestPaperDetail);
examControllerClass.QuestionService = mockItQuestionService.Object;
var execResult =
JsonHelper.toJson(examControllerClass.GetCollectExamPaperList(reqGetUserTestPaperListModel))
.Content.ReadAsStringAsync()
.Result;
//Arrange:4 Assert
Assert.AreEqual(respStrExpected, execResult, true);
}
#endregion
posted on 2020-07-16 09:24 Cinderella露 阅读(270) 评论(0) 收藏 举报