美文网首页
程序人生——“无损”单元测试

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

作者: 修行想飞的鱼 | 来源:发表于2017-03-02 23:02 被阅读0次

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

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

不能打桩,还测个屁啊!

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

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

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

相关文章

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

    很多程序员对单元测试又爱又恨,爱的是可以大幅提高你代码的质量、可读性和后期维护的成本,总之好处说不完;恨的是它会大...

  • 走进 .Net 单元测试

    走进 .Net 单元测试 Intro “不会写单元测试的程序员不是合格的程序员,不写单元测试的程序员不是优秀程序员...

  • 软件测试理论

    1.软件测试分类 软件测试分:单元测试,集成测试,系统测试,验收测试。 单元测试:单元测试是对程序中的单个子程序或...

  • python 单元测试 -- unittest

    @(python) 单元测试是对程序中的单个子程序、函数、过程进行的测试,面向白盒测试。单元测试测试覆盖常用子程序...

  • 单元测试

    单元测试的局限 1.测试不可能发现所有的程序错误,单元测试也不例外。按定义,单元测试只测试程序单元自身的功能。因此...

  • iOS单元测试使用

    关于iOS单元测试 单元测试是针对程序模块来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。进行单元测试...

  • Android开发之逻辑单元测试

    单元测试的必要性 完整,规范的单元测试有利于提升程序的“自动化”验证 降低后期程序的维护成本 高覆盖率的单元测试在...

  • iOS - 单元测试

    简单使用单元测试 对方法引用AFN框架的单元测试不写单元测试的程序员是不合格的,为了让自己成为一名合格的程序员,学...

  • iOS - 单元测试

    简单使用单元测试 对方法引用AFN框架的单元测试 不写单元测试的程序员是不合格的,为了让自己成为一名合格的程序员,...

  • iOS - 单元测试

    简单使用单元测试 对方法引用AFN框架的单元测试 不写单元测试的程序员是不合格的,为了让自己成为一名合格的程序员,...

网友评论

      本文标题:程序人生——“无损”单元测试

      本文链接:https://www.haomeiwen.com/subject/xjtlgttx.html