У меня возникли проблемы с пониманием модульного теста для MVC. У меня есть моя модель, она выглядит так:
namespace UnifiedLibrary.Models
{
public class SCPublisherModel
{
[Display(Name = "Title")]
public string Title { get; set; }
[DataType(DataType.MultilineText)]
[Display(Name = "Description")]
public string Description { get; set; }
public bool Conform()
{
if (String.IsNullOrEmpty(Title))
Title = Resources.ULResLocal.Sou.locDefaultTitle;
if (String.IsNullOrEmpty(Description))
{
Description = Resources.ULResLocal.Sou.locDefaultDesc;
}
return true;
}
public bool Validate()
{
if (String.IsNullOrEmpty(Title))
Title = Resources.ULResLocal.Sou.locDefaultTitle;
return true;
}
}
}
public ActionResult Sou(string productID, string locale, string clienttoken, string Title, string Description)
{
ProviderID = (int)Providers.SoundCloud;
locale = Utilities.SetApplicationLocale(locale);
if (String.IsNullOrEmpty(clienttoken))
return RedirectToAction("../Shared/Error");
HttpCookie cookieAuthToken = this.ControllerContext.HttpContext.Request.Cookies[strCookieSoundCloudAuthToken];
if (cookieAuthToken == null)
{
return RedirectToAction("../Login/LoginSoundCloud", new { productID = productID, locale = locale, clienttoken = clienttoken,
Title = Title, Description = Description});
}
// create a model for soundcloud and store all known information
Models.SCPublisherModel model = new Models.SCPublisherModel();
model.Title = Title;
model.Description = Description;
model.Conform();
// create a view based on the updated model
return View(model);
}
Мне тоже нужно проверить этот элемент управления. Но я не уверен как. Я использовал этот юнит тест, но я ошибся.
[TestMethod]
public void SoundCloudTest()
{
// Controllers that rely on App_GlobalResources or App_Local_Resources cannot be unit tested with rewriting these dependencies.
var controller = new PublishController();
// Act
var SCModelTest = new SCPublisherModel()
{
Title = "Test 100",
};
var result = controller.SoundCloud(SCModelTest) as ViewResult;
Assert.AreEqual(result.View, SCModelTest);
}
если вы знаете какую-либо статью. Вы можете предоставить это мне.
Спасибо.