动态更改UI测试的连接字符串

时间:2012-05-10 08:26:10

标签: testing database-connection ui-testing webaii

我正在使用WebAii库进行UI测试 - 我想测试我的组件是否显示与数据库中相同的记录,因此我需要将应用程序的连接字符串切换为指向测试数据库,仅用于运行时试验。最好的方法是什么?如何在运行应用程序之前动态更改连接字符串?感谢

2 个答案:

答案 0 :(得分:0)

你是storing the connection string in the Web.config file吗?如果是这样,我会在开始测试之前部署一个新的Web.config,然后use the command line to send an IISRESET

仅供参考,这些是我们在our public forum dedicated to WebAii全天回答的问题。

科迪 Telerik技术支持

答案 1 :(得分:0)

它是什么类型的应用程序?这首先可能表明代码没有很好的因素。接下来,通常有一个单独的测试代码环境。

例如,如果您要部署到ASP.NET with Visual Studio,则可以在部署到时使用Web.config file transformations设置不同的值,例如 test.contoso.com vs. www.contoso.com。 transformation syntax允许您在部署其他配置时定义新的连接字符串,或从基础Web.config更改现有连接字符串。

如果您拥有单一环境并对其进行控制,您可以编写几个(Power)shell脚本,在测试之前将带有“test”连接字符串的web.config复制到您的app根目录。然后运行第二个脚本以在运行测试后重置原始web.config。

如果您可以在上下文中访问您的部署目录,那么您甚至可以在单元测试项目中包含一个Web.test.config文件。在[AssemblyInitialize]

  1. 文件复制_ \\ {您的应用服务器} {您的应用目录} \ Web.config到 \\ {您的应用服务器} {您的应用目录} \ Web.config.orig
  2. Web.test.config 文件复制到 \\ {您的应用服务器} {您的应用目录} \ Web.config
  3. 睡几秒钟?
  4. 然后在[AssemblyCleanup]中反向执行。

    其他策略也存在。在调试模式下,您可以构建对应用程序的覆盖,它会检查各种事物(特殊文件,附加配置,cookie,额外查询字符串)。或者您可以在应用程序中安装一个设置管理器,您可以在安排测试时检测测试设置(点击UI更改数据库设置)。

    但是,很可能通过将代码分解以减少依赖性,您可以获得最佳的复合奖励。然后你可以编写存储/模拟/伪造数据库的单元测试。您可以使用代码覆盖率工具来验证您是否已经测试了特定方案,或者在此时看到其他集成测试将覆盖重复。

相关问题