为WebRole云服务项目设置单元测试?

时间:2017-05-10 15:51:16

标签: unit-testing azure azure-web-roles azure-cloud-services

我正在尝试为我的WebRole项目设置单元测试。我创建了一个单独的项目" MyWebRole.Tests"。我遇到的问题是当我实例化他们调用的控制器方法时

RoleEnvironment.GetConfigurationSettingValue("GetValue");

我创建的单元测试项目没有为它设置任何RoleEnvironment,因此测试错误。并且研究更多内容似乎无法在多个角色之间共享配置设置。

我也不想为我的UnitTest创建一个单独的WebRole项目,因为这意味着它将被部署。

如何为Webrole编写单元测试,以便我可以访问

RoleEnvironment.GetConfigurationSettingValue("GetValue");

同时单元测试的代码没有部署?

1 个答案:

答案 0 :(得分:0)

我会使用外部配置存储云模式来解决这个问题。您可以在这里阅读更多相关信息:

https://docs.microsoft.com/en-us/azure/architecture/patterns/external-configuration-store

如果您想继续使用当前的解决方案,您需要一个RoleEnvironment接口并创建一个模拟。我找到了这个:

https://searchcode.com/file/28014050/ServiceRuntime/Contracts/IRoleEnvironment.cs

你可以尝试一下。