【问题标题】:unit testing azure mobile services controllers单元测试 Azure 移动服务控制器
【发布时间】:2015-10-10 05:28:56
【问题描述】:

我们为一个跨平台移动应用实施了azure 移动服务。我们使用 azure 移动服务将后端暴露给移动应用程序。

我们使用的所有控制器都扩展了表格控制器,并且大多数服务方法都实现了一些自定义逻辑。现在我们想要单元测试这些自定义逻辑。

有什么方法可以模拟表控制器并编写单元测试?我到处都试过了,甚至我也检查过 MSDN 论坛。我无法得到任何有关它的信息。如果有人这样做并可以分享示例,请告诉我。

【问题讨论】:

  • Azure 移动服务只是一个添加了一些附加功能的 Web api 糖。我不明白为什么你不能使用 web api 单元测试方法。 asp.net/web-api/overview/testing-and-debugging/…
  • 如果我使用自定义 ApiController,它可以完美运行。但是我们有 TableControllers 类型的控制器,这不允许我这样做。因为它正在寻找我无法模拟的 ApiService :(

标签: c# unit-testing asp.net-web-api azure-mobile-services


【解决方案1】:

与后端数据库的所有交互都是通过 DomainManager 完成的,因此您可能不得不在测试时修改您在 TableControllers 中使用的 EntityDomainManager。 SDK 有一个用于 TableController 的 ctor 重载,它采用 DomainManager。您可以在测试中使用 Autofac 注册您的模拟,并在测试期间使用它(如果您正在测试完整的管道)。如果您使用 new YourController() 单独访问 TableController,您可以使用该重载来传递您的模拟 DomainMAnager,并确保您没有在 Initialize 中创建真正的 DomainManager。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 2012-05-20
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多