Как вызвать метод конфигурации, расположенный в моем global.asax в моем тестовом проекте? - PullRequest
2 голосов
/ 03 августа 2011

В моем Global.asax ** Application_Start () ** У меня есть конфигурация AutoMapper , эта конфигурация запускается при каждом запуске приложения.

IЯ использую AutoMapper в моих контроллерах .

У меня есть Test Project для тестирования моих контроллеров , и мне нужнодля запуска этой конфигурации AutoMapper при каждом запуске моего тестового проекта.

В моем Тестовом проекте есть место, где у меня есть что-то вроде Application_Start () in Global.asax для вызова этого метода конфигурации AutoMapper оттуда?

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Попробуйте добавить метод инициализации в тестовый класс и установить [ TestInitialize () ] - атрибут для него.

namespace TestNamespace
{
   [TestClass()]
   public class TestClass
   {
      [TestInitialize()]
      public void Initialize()
      {
        // some initialization code
      }
  }
}
0 голосов
/ 21 января 2015

Для тех из нас, кто все еще ищет другой вариант сделать это.

  • В папке App_Start добавьте файл класса AutoMapperConfig.cs

    namespace MyNameSpace
    {
      public class AutoMapperConfig
      {
        public static void Register()
        {
          // Your AutoMapper configuration should go in here
        }
      }
    }    
    
  • В global.asax Application_Start() метод add

    AutoMapperConfig.Register();
    
  • Теперь в вашем тестовом классе вы сможете вызывать тот же метод конфигурации (вам потребуетсядля ссылки на проект mvc).

    [TestMethod]
    public void AutoMapper_Configuration_Should_Succeed()
    {
      AutoMapperConfig.Register();
      Mapper.AssertConfigurationIsValid();
    }
    
  • или (Если у вас более одного теста, для которого требуется конфигурация)

    [TestInitialize()]
    public void Initialize()
    {
      AutoMapperConfig.Register();
    }
    
    [TestMethod]
    public void AutoMapper_Configuration_Should_Succeed()
    {
      Mapper.AssertConfigurationIsValid();
    }
    
...