为WebRole云服务项目设置单元测试?
问题描述:
我正在尝试为我的WebRole项目设置单元测试。我创建了一个单独的项目“MyWebRole.Tests”。我遇到的问题是,当我实例他们在为WebRole云服务项目设置单元测试?
RoleEnvironment.GetConfigurationSettingValue("GetValue");
我创建没有任何RoleEnvironment为它设置的单元测试项目叫我的控制器方法,所以测试出错误。对此进行更多研究似乎无法在多个角色之间共享配置设置。
我也不想为UnitTest创建单独的WebRole项目,因为这意味着它会被部署。
我怎么能写单元测试我Webrole,所以我有机会获得
RoleEnvironment.GetConfigurationSettingValue("GetValue");
,并在同一时间单元测试代码没有得到部署?
答
我会解决这个应用外部配置存储云模式。你可以在这里阅读更多关于它:
https://docs.microsoft.com/en-us/azure/architecture/patterns/external-configuration-store
如果你想保持与当前的解决方案,您需要为RoleEnvironment的接口,并创建一个模拟。我发现这一个:
https://searchcode.com/file/28014050/ServiceRuntime/Contracts/IRoleEnvironment.cs
你可以试试看。