Я пытаюсь создать модульные тесты для методов, которые вставляют данные в базу данных SQL Server в ASP.NET MVC. У меня есть несколько ActionResult
методов, которые записывают данные в мою базу данных SQL Server. Один из этих методов заключается в следующем:
[HttpPost]
public ActionResult AddApi(ApiRedirect model)
{
try
{
List<ApiRedirect> list = dbProducts.ApiRedirects.ToList();
int companyID = dbProducts.Companies.Where(x => x.CompanyName == model.Company.CompanyName).FirstOrDefault().CompanyID;
int mappingID = dbProducts.MappingNames.Where(x => x.Name == model.MappingName.Name).FirstOrDefault().MappingID;
ApiRedirect api = new ApiRedirect();
api.ApiName = model.ApiName;
api.CompanyID = companyID;
api.ApiURL2 = model.ApiURL2;
api.MappingID = mappingID;
api.ResponseType = model.ResponseType;
dbProducts.ApiRedirects.Add(api);
dbProducts.SaveChanges();
return View ();
}
catch (Exception ex){
throw ex;
}
}
Однако, когда я пытаюсь сделать это в моем тестовом проекте, вот так:
[TestClass]
public class ApiRedirectTests
{
[TestMethod]
public void AddApiRedirect()
{
//Arrange
var controller = new ApiBrokerController();
ApiRedirect model = new ApiRedirect();
model.ApiName = "UnitTest";
model.CompanyID = 1;
model.ApiURL2 = "www.UnitTest.com/API";
model.MappingID = 1;
model.ResponseType = "json";
//Act
controller.AddApi(model);
}
}
Я получаю следующую ошибку:
Я бы хотел какой-нибудь тест, который пишет код, проверяет, вставлен ли код в базу данных, и затем удаляет. Каков наилучший способ сделать это?
UPDATE
Я добавил ссылку MVC в свой проект, и теперь я получаю следующую ошибку:
Заранее спасибо!