607
社区成员
发帖
与我相关
我的任务
分享
问题来自于:https://www.cnblogs.com/SnowPhoenix/p/14956361.html
原文
(P26)单元测试的运行/通过/失败/不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。
问题
面对需要处理大量数据的模块,人为构造数据就最造成很大的重复性工作。比如上学期写编译器的时候,为了测试我的词法分析模块的正确性,对一个十分简单的源程序,我就需要写上百行的期望输出,而且单元测试运行完之后,对那些错误部分进行分析,发现大部分并不是我要测试的语法分析模块的错误,反而而是我手动构造的期望输出的错误。在对语法分析部分进行测试的时候,这种情况尤甚。有的时候为了构造样例去写一些测试样例的生成器,但是生成器本身也会发生错误。
针对处理数据量较大的模块,我们该怎样手动构造测试样例呢?还是说,我们应该换一种单元测试的粒度?
即使测试比较麻烦也需要构造单元测试。
虽然测试的复杂性导致测试本身也会出错,此时测试和待测程序是一种互相验证。
但是相比于比较常规的单元测试,如果测试需要的样例/环境构造比较麻烦,,我认为可以将测试工作的优先级适当降低,先完成更重要的工作。 引用自:https://www.cnblogs.com/SnowPhoenix/p/14956361.html