编程语言
首页 > 编程语言> > 单元测试旧版C#代码

单元测试旧版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