Модульный тест MVC 3 для режимов тестирования и управления - PullRequest
1 голос
/ 20 декабря 2011

У меня возникли проблемы с пониманием модульного теста для 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);

             }

если вы знаете какую-либо статью. Вы можете предоставить это мне. Спасибо.

1 Ответ

0 голосов
/ 20 декабря 2011

Изменение

Assert.AreEqual(result.View, SCModelTest);

до:

Assert.AreEqual(result.Model, SCModelTest);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...