我使用Castle Windsor作为DI并使用reposity来访问和实现数据层。 由于我已经在我的repo中实现了所有数据访问层,现在是时候在我的API控制器中调用这些方法了。所以我有'getAllReportsByClient方法'和'CreateReport'POST方法。因此,为了测试某些方法是否正常工作而没有实际实现视图和AJAX调用,如何使用“创建报告”方法插入样本数据?
回购方法如下:
public void CreateReport(TReportHeaderModel model)
{
using (var connection = new TReportEntitiesConnection())
{
connection.THeader.Add(new THeader()
{
ClientID=model.ClientID,
ID=model.ID,
THeaderTitle=model.THeaderTitle,
RowNumber=model.RowNumber
});
foreach (var d in model.TReports)
{
connection.TReport.Add(new TReport()
{
ID=d.ID,
TReportName=d.TReportName,
URL=d.URL,
RowNumber=d.RowNumber,
});
}
connection.SaveChanges();
}
throw new NotImplementedException();
}
以下是Controller中的HTTPPOST createReport调用:
[HttpPost]
public ActionResultModel CreateReport([FromBody] TReportHeaderModel model)
{
try
{
_tReportingService.CreateReport(model);
return new ActionResultModel() //return void, must not be followed by object expression
{
Success = true,
Message = "Report Successfully Created."
};
}
catch (Exception ex)
{
return new ActionResultModel()
{
Success = false,
Message = "Report not created.",
Obj=ex.Message
};
}
}
答案 0 :(得分:0)
您可以使用Postman(https://www.getpostman.com/)或Fiddler(www.telerik.com/fiddler)来模拟请求。更好的是,您可以使用测试框架编写测试。