MVC Тестирование с использованием фреймворка (Moq) - PullRequest
0 голосов
/ 05 июля 2010

Я использую Moq, чтобы помочь в тестировании моего приложения ASP.NET MVC2.

Проблема: ArgumentException не был обработан кодом пользователя. Не удалось получить открытый ключ для StrongNameKeyPair

Этот код был адаптирован из NerdDinner1 Скотта Хансельмана.

HomeController CreateHomeControllerAs(string userName)
    {
        var mock = new Mock<ControllerContext>();
        mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns(userName); // fails here
        mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);

        var controller = new HomeController();
        controller.ControllerContext = mock.Object;

        return controller;
    }

    [TestMethod]
    public void should_be_able_to_get_to_index_page_logged_in()
    {
        HomeController controller = CreateHomeControllerAs("dave");
    }

Использование Moq, на которое ссылаются ... VS2010 под WinXP.

1 Ответ

1 голос
/ 05 июля 2010

В вашем коде нет ничего плохого.Я только что проверил это, и он работал нормально.Проблема в сборке Moq.Вам необходимо предоставить определенные разрешения для папки C:\Documents and Settings\AllUsers\ApplicationData\Microsoft\Crypto\RSA\MachineKeys.Оформить заказ это обсуждение .

Также щелкните правой кнопкой мыши Moq.dll в проводнике Windows и в свойствах убедитесь, что он не заблокирован.Когда вы загружаете какую-либо DLL из Интернета, Windows автоматически применяет к ней ограниченные разрешения.

...