Система.Безопасность.Исключение VerificationException при модульном тестировании

#asp.net-mvc #asp.net-mvc-4 #unit-testing #mvccontrib

#asp.net-mvc #asp.net-mvc-4 #модульное тестирование #mvccontrib

Вопрос:

Ниже приведен один из файлов модульного теста в моем проекте модульного тестирования. «RouteConfigTests.cs»

 [TestInitialize]
        public void Initialise()
        {
            RouteTable.Routes.Clear();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }

        #region default route
        [TestMethod]
        public void RouteDefault_ValidValues_ValidResultExpected()
        {
            "~/".ShouldMapTo<MessagesController>(x => x.Index());
        }
        #endregion
  

Ниже приведен файл packages.config:

 <packages>
  <package id="AutoMapper" version="2.2.0" targetFramework="net45" />
  <package id="FakeItEasy" version="1.21.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Razor" version="2.0.30506.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages" version="2.0.30506.0" targetFramework="net45" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
  <package id="MicrosoftWebMvc" version="2.0" targetFramework="net45" />
  <package id="Mvc4Futures" version="4.0.20710.0" targetFramework="net45" />
  <package id="MvcContrib" version="2.0.95.0" targetFramework="net45" />
  <package id="MvcContrib.TestHelper" version="2.0.95.0" targetFramework="net45" />
  <package id="RhinoMocks" version="3.6" targetFramework="net45" />
</packages>
  

Ниже приведен файл app.config:

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
  </dependentAssembly>
  

Когда я пытаюсь отладить этот тест, он выдает мне исключение типа System.Безопасность.Аргумент типа VerificationException нарушает ограничение параметра типа TController.

Есть идеи, почему это могло бы произойти? и как это исправить?

Ответ №1:

Я исправил это после установки обновлений 4 Visual Studio 2012