单元测试旧版C#代码
作者:互联网
如何为这样的方法编写NUnit测试.这种方法本身是否值得重构?
在传统代码中处理这种情况的最佳方法是什么?
public bool DoXYZ()
{
ABC abc= new ABC()
XYZ xyz = new XYZ();
if (xyz .IsSomeCondition(Session.SessionID))
{ return false; }
else
{ return abc.IsSomeOtherCondition(SessionID.SessionID); }
}
解决方法:
您可能需要对其进行重构,以引入依赖项注入的挂钩.例如,包含DoXYZ方法的类可以获取ABC和XYZ的新属性.这些属性可以默认为ABC和XYZ实例,但是在单元测试中可以用模拟版本代替.
而且,如果您更喜欢使用IoC,这种方法也支持
标签:legacy-code,unit-testing,nunit,c 来源: https://codeday.me/bug/20191023/1914070.html