1
10
使用Entlib静态外观的代码的可测试性是困难的。在不改变代码的情况下,唯一的答案就是添加一个app.config 将文件保存到测试程序集,并使用不起任何作用的无害策略设置Entlib异常块。 然而,在entlib4(和5,我看到您正在使用)中有另一种方法。我们专门为所有块添加了一个实例入口点,以提高可测试性。对于异常块,该实例是ExceptionManager。使用它非常简单。将异常管理器实例放入您的类型中,然后调用它而不是ExceptionPolicy。像这样:
现在您已经有了它,您可以模拟ExceptionManager(它是一个抽象基类),以便在测试期间基本上不操作它,可以手动操作,也可以使用模拟对象框架。
最终用户使用默认构造函数,您的测试使用接受显式ExceptionManager的构造函数,并且您有钩子来模拟Entlib使用的任何东西。
|
2
1
|
alhpe · ICallHandler是一个接口,无法构造 9 年前 |