1
我正在寻找一个例子测试静态类与类的实例时,说明困难。有人可以提供一个吗?实例困难时测试静态类(C#)
我正在寻找一个例子测试静态类与类的实例时,说明困难。有人可以提供一个吗?实例困难时测试静态类(C#)
,使得使用其他类型的类被认为对那些其他类型的从属物。当你在一个类中测试一个方法时,你通常会尝试测试该方法在做什么,而不是依赖关系在做什么。设置你的对象,以支持这些场景的常用方法是使用dependency injection。 依赖注入是提高可测试性的通用模式。静态类不适用于该模式,因此难以对使用静态类的类进行单元测试。例如,如果您有要测试的类“A”,并且它使用静态类“B”来执行某些您不想测试的操作,例如点击数据库,则类A是现在很难测试。
class A
{
// this is hard to test because of the static call through B
public void MethodToTest()
{
// ...
B.HitTheDatabase();
// ...
}
}
这种情况有解决办法,如写围绕B中的包装,并将其注入到A,或使用Moles框架
好了,你怎么测试时间差的班级,如果它使用'日期时间.Now'? – Oded
你可能要检查[这个答案](http://stackoverflow.com/a/10633109/343266)。 –
搜索SO [右上方]用“静态[单元测试]”。你会发现很多发布的困难。具有纯函数的静态类不难测试 - 例如Math类的方法。另请阅读:http://stackoverflow.com/a/4222788/1695 – Gishu