如何在我的测试项目中调用位于我的global.asax中的配置方法?

时间:2011-08-03 17:59:13

标签: .net asp.net unit-testing automapper global-asax

在我的 Global.asax ** Application_Start()中**我有 AutoMapper 的配置,只要应用程序运行,就会触发此配置。

我在控制器中使用 AutoMapper

我有测试项目来测试我的控制器,每当我的测试项目被触发时,我都需要触发AutoMapper的这种配置。

我的测试项目中有一个地方,我在 Global.asax 中有 Application_Start()这样的地方来调用此配置方法那里的AutoMapper?

2 个答案:

答案 0 :(得分:1)

尝试将初始化方法添加到测试类并设置[TestInitialize()] - 属性。

namespace TestNamespace
{
   [TestClass()]
   public class TestClass
   {
      [TestInitialize()]
      public void Initialize()
      {
        // some initialization code
      }
  }
}

答案 1 :(得分:0)

对于我们这些仍在寻找其他选择的人来说。

  • App_Start文件夹中,添加一个类文件AutoMapperConfig.cs

    namespace MyNameSpace
    {
      public class AutoMapperConfig
      {
        public static void Register()
        {
          // Your AutoMapper configuration should go in here
        }
      }
    }    
    
  • global.asax Application_Start()方法中添加

    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();
    }