我最近有一项任务是创建一个简单的实用程序,该实用程序允许将具有特殊格式的文件中的数据导入数据库。我用很少的类实现了控制台应用程序(程序类与业务逻辑类一起操作,业务逻辑类又与数据访问类一起操作)。一切正常,但现在我正在考虑创建一些单元测试和重构应用程序(我之前没有创建过真正的单元测试,很久以前只是一堆集成测试,所以我相信这个应用程序是练习的完美领域) .
所以,问题来了:数据访问类已经变成静态的,这不允许模拟它并因此创建真正的单元测试。为了解决这个问题,我需要创建一个接口并在数据访问类中实现它。此外,我必须向业务逻辑类添加一个构造函数,该类将接受该接口类型的参数。所以这意味着我最终将在应用程序 Main() 方法中创建数据访问类,并且有些东西告诉我这不是最好的方法(入口点应该知道一些数据访问的事情真的可以吗?如果链是更长的时间还是应该有几个链条?)。我知道我可以使用一些 IoC 容器,但我认为这对于使用容器来说太简单了。
谢谢!