mrfangzheng

Hope and fear are useless. Be confident, and always be prepared for the worst.
  首页  :: 新随笔  :: 联系 :: 管理

测试中使用config文件读取测试者相关的变量

Posted on 2010-02-03 22:50  mrfangzheng  阅读(278)  评论(0编辑  收藏  举报

 

在Unit Tests中有时需要读取测试运行者相关的变量,
比如: 不同的测试机器的目录结构不同, 测试机A的某个测试目录为C:\ABC, 而在测试机B上对应的目录为 D:\XYZ\ABC, 如果把这些信息硬编码在测试中就会影响测试的可移植性.

解决方案:
1.把这些信息存放在TestProject的app.config, 比如:

<appSettings file="user.config">
  <add key="WebServerPhysicalPath" value="C:\WebRoot"/>
  <add key="WebSiteUrl" value="http://localhost:8888/>
</appSettings>

 

注意: file="user.config"

 

2.在另一个文件 user.config中输入类似内容, 用户可在该文件中配置自己的变量. user.config不用放到SVN上.

<appSettings>
  <add key="WebServerPhysicalPath" value="D:\UserJack\WebRoot"/>
</appSettings>

 

3.在Solution中添加一个TestRunConfig.testrunconfig, 双击打开Deployment页, 加入user.config文件. 这样, 每次运行测试, user.config都会被拷贝到测试目录中(类似TestResults\Jack 2010-02-03 22_26_58\Out).

 

4.在测试程序中访问配置变量:
string webRootPath = System.Configuration.ConfigurationSettings.AppSettings["WebServerPhysicalPath"];