如何为所有.net测试项目实现单个连接字符串

时间:2015-10-15 10:00:09

标签: .net testng connection-string

所以我想知道是否有比我目前实施的更好的解决方案。

问题:

  • 我有一个包含多个测试项目的解决方案。
  • 每个测试项目都引用一个.Common库来管理测试数据。
  • 有时需要使用数据库来创建和/或获取测试数据。
  • 我希望我的所有测试项目都使用相同的服务器/数据库 处理测试数据。
  • 如果我想更改此服务/数据库,我不想去每个项目更改app.config中的连接字符串,所以我希望我的所有测试项目都使用一个集中的连接字符串集合

目前的解决方案:

在我的.Common项目中,我实现了以下

        return "Data Source='.'; Initial Catalog='MyData'; Integrated Security='true'";

现在我讨厌硬编码字符串,我很沮丧,因为我无法将字符串放入我的.Common项目的app.config中,并使用以下命令直接从.Common库引用它:

ConfigurationManager.ConnectionStrings["Database"].ConnectionString;

在运行时,始终引用当前运行的测试的app.config,而不是.Copmmon库的app.config(甚至来自.Common项目中)。

也许我从完全错误的角度看待它?也许出于某种原因,最好将这个字符串放在每个测试项目中?虽然我个人不明白为什么。

我不想从我的.Common项目共享app.config,因为每个项目可能只有与该项目相关的设置,我不想将所有这些设置放在一个配置中。

如果有人能为我的问题建议更好的解决方案,我将不胜感激。

==========编辑:

我希望找到一个已经发明的车轮。

我理解我可能会按照评论中的建议编写解决方案,并且可能在我写这篇文章的同时编写了一个解决方案,但是我需要对它进行测试并证明上述方法的合理性。此外,我甚至不确定我试图这样做是正确的做法。

0 个答案:

没有答案