程序人生——“无损”单元测试

很多程序员对单元测试又爱又恨,爱的是可以大幅提高你代码的质量、可读性和后期维护的成本,总之好处说不完;恨的是它会大幅占用你原本就捉襟见肘的开发时间,让你看起来效率不高,嗯,也只是看起来而已。如果是对原有代码添加单元测试,那可真是一件让人头痛的事情。废话不多说,今天遇到一件棘手的问题,是对既有代码添加单元测试,限制很多,因为这是安全相关代码,是通过了安全认证的,所以想动源代码是不可能的;再就是,作为工程的一部分,单元测试代码要放到固定的测试项目中去,方便执行自动化测试。

这些限制带来一个问题,就是internal的属性和方法我测不到啊!


不能打桩,还测个屁啊!

话虽如此,但是问题还得解决,它不会因为你的抓狂而自动解决。原来的程序已C#代码完成的,后来灵机一动。我想到可以使用.Net中的反射来解决这个问题。


大概思路是,使用反射重建一个辅助测试的助手类,在单元测试的项目中重新暴露被测模块的internal属性和方法。再测试这个助手类。


这只是我自己想出来的方法,自己试了效果还是不错的。如果有更好的办法,欢迎交流。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容