我正在为两个项目用 C# 构建一个类库。此类库与 SQLServer 数据库进行了大量连接。
由于该库仅从 SQLServer 数据库中检索数据,因此有一个静态类负责加载连接设置并打开它。然后库的类接收执行查询所需的数据并返回结果。所有这些都是使用静态方法完成的。
像这样的东西。
internal static class DBConnection
{
private const String connectionString = "some connection string";
public static SqlConnection open() { /* ... open the connection ... */ }
}
public static class DataXRetriever
{
public static List<DataX> RetrieveById(Int32[] ids)
{
using (SqlConnection connection = DBConnection.open())
{
/* ... do a query ... */
/* ... do something with the result of the query ... */
/* ... return it ... */
}
}
/* ... some other static methods ... */
}
我想为这些方法制作一个测试单元,而无需连接到数据库,我一直在读到这可以通过实例化包含连接的类并将其提供给将使用它的类来完成,但我的设计不是那样工作的。