如何在单元测试中使连接字符串成为常量
本文关键字:字符串 常量 连接 单元测试 | 更新日期: 2023-09-27 18:33:04
我有一个动态连接字符串生成器,因为我需要为每个客户使用不同的数据库。
当我对此进行测试时,我想模拟动态连接字符串生成器以返回特定的客户字符串对象。我遇到的问题是 C# 在连接字符串上不断出错作为常量。
private const string connectionString =
@"metadata=res://Data/CustomerModel.csdl|res://Data/CustomerModel.ssdl|
res://Data/CustomerModel.msl;provider=System.Data.SqlClient;
provider connection string=/""Data Source=MyDB;Initial Catalog=MyCustomer;
User ID=SomeUser;Password=SomePassword"
当前错误为:
An exception of type 'System.ArgumentException' occurred in EntityFramework.dll but
was not handled in user code
Additional information: Keyword not supported: 'initial catalog'.
我知道这是 C# 存储连接字符串的方式,我不知道如何修复它。我不想使用我拥有的连接字符串生成器服务,因为这样我的测试将不仅仅依赖于这个"单元"。我想伪造连接字符串生成器以返回该连接字符串。
有什么建议吗?
一种选择是使用 EntityConnectionStringBuilder
并手动构建它。
http://msdn.microsoft.com/en-us/library/vstudio/bb738533(v=vs.100).aspx