Ste*_*eve 4 c# unit-testing azure
我有一个Azure应用程序,最近在应用程序设置上进行了操作.我意识到将几乎所有我需要的设置放入ServiceConfiguration中是显而易见的方法,可以选择任何你甚至可以远程想要改变的东西; 这意味着Web服务URL,smtp主机信息等都在我的ServiceConfiguration中.
想象一下,当我做出改变之后,我试图运行200多个单元测试,但直接发现这个错误时,我感到很惊讶:
调用RoleEnvironment.GetConfigurationSettingValue("MYKEY")时为什么会出现SEHException?
显然,我在这里有几个选择......
- 我可以使用RoleEnvironment.IsAvailable()编写我自己的小类来检查我应该从哪里获取设置,如果我不是天蓝色的话,可以从app.config获取它们.
- 我可以将我的应用程序部署到测试环境,只测试面向外部的接口.
但是有"内置"方式吗?是否有任何单元测试框架的更新,可以让我测试正在运行的确切代码(在将运行的环境中以及将部署的设置)?
截至2012年6月Azure发布,您可以使用CloudConfigurationManager - 它会检查.cscfg和.csdef文件(如果可用),否则从app.config或Web.config的appSettings部分读取:
<configuration>
<appSettings>
<add key="Foo" value="Bar" />
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后在代码中:
CloudConfigurationManager.GetSetting("Foo")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4571 次 |
最近记录: |