代码之家  ›  专栏  ›  技术社区  ›  Khaja Minhajuddin

在开发中测试web应用程序时模拟外部web服务的最佳方法

  •  2
  • Khaja Minhajuddin  · 技术社区  · 16 年前

    目前我正在开发一个依赖于大量外部web服务的应用程序。其中有几个是 授权.net 和 查吉菲 .

    在测试(手动测试)除与这些web服务集成之外的其他东西时,我会将这些web服务依赖项替换为它们的假版本,而这些版本实际上什么都不做。到目前为止,我的方法是在structure map registry类中使用以下代码行:

        For<IChargifyService>().Use<MockChargifyService>(); //uncomment this line to use a mock chargify service
    

    Infrastructure 装配。

    这种方法的问题是我必须 在部署之前取消对行的注释。我知道有一种方法可以使用structurexmlconfig来实现这一点,但我想知道是否有更好的方法来实现这一点。创造一个 Mock Infrastructure 装配是个好主意吗?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Joshua Flanagan    16 年前

    我可以想到以下几种方法:

    Scan(x =>
    {
        x.TheCallingAssembly();
        x.AssembliesFromApplicationBaseDirectory();
        x.LookForRegistries();
    });
    

    2) 另一个选项是为模拟创建配置文件:

    Profile("Test", x =>
    {
        x.For<IChargifyService>().Use<MockChargifyService>();
        // etc.
    });
    

    ObjectFactory.Profile = "Test";
    

    基于某些表明您处于测试模式的环境条件。

        2
  •  0
  •   Taylor Leese    16 年前