dan*_*mer 5 c# unit-testing dependency-injection
我对单元测试比较陌生,对C#也很陌生,但我一直在尝试使用静态方法测试使用静态类的代码,似乎我必须编写大量的样板代码才能进行测试,那么代码也可能需要进行测试.
例如:我正在使用System.Web.Security.Membership类,并ValidateUser
在其上使用方法.好像我需要创建一个接口IMembership
包含的方法ValidateUser
,然后创建一个类MembershipWrapper
实现IMembership
,实现的方法ValidateUser
和传递的参数在实际Membership
的类.然后我需要在我的类上使用Membership
引用包装器的属性,以便我可以在测试期间为模拟对象注入依赖项.
因此,为了测试使用的1行代码Membership
,我必须创建一个接口和一个类,并向我的类添加属性和构造函数代码.这似乎是错的,所以我一定是弄错了.我该怎么做这个测试?我已经简要介绍了一些执行依赖注入的框架/库,但它们似乎仍然需要大量的样板,或者非常深入地了解引擎盖下的内容.
我不认为使系统松散耦合有什么问题。我相信您不会抱怨创建构造函数参数并将抽象依赖项传递给您的类。但是就地实例化依赖关系看起来容易得多,不是吗?
另外,正如我在评论中指出的那样,您可以稍后重用包装器。所以,这并不是乍一看那么无用的工作。