Python基础教程好用的单元测试

北京中科白癜风医院传递健康和希望 https://auto.qingdaonews.com/content/2018-06/19/content_20138493.htm

单元测试对开发人员,或者对于编写复杂功能的人来说,是一个十分实用的功能,但是国内的企业认真对待单元测试的企业真心是不多啊。

单元测试

但是,我们不能因为这个就不重视单元测试,恰恰相反,依作者十多年的工作经验,想要把一个项目写好,又能很方便地对其中的一些功能进行测试,掌握单元测试那是必须的。

我要说我对过去我写过的所有代码都写单元测试了,估计连我自己都不信,就更别说你了。

废话不多说,我们来个最简单的,我有加、减、乘、除四个功能函数,现在我需要对它们写个单元测试,先看看我的功能函数:

看我这代码写的,是不是挺牛逼的?

以这个代码回顾这个产品似乎也不错:

懂的人都懂,不懂的人说明还很年轻

现在,我写了这么有格调的代码,又能反映这么有格调的产品,怎么能没有单元测试呢?不给它写点单元测试,岂不是显得我很low???这个不能忍,单元测试上:

实在是太简单,真心没啥可说的

这代码,只要你运行一遍,就秒懂,绝对的。而且我相信我只要在这里强调几个要点,你就全会了:

setUp和tearDown是测试启动和测试收尾的执行函数setUp和tearDown在每个测试执行的前后都会执行,注意,是每个测试,Python的单元测试是一个方法一个测试哦~当你有多个测试方法的时候,它们会有执行顺序的,那么是什么顺序呢?我现在在每个测试方法中打印一句话,看看它们的顺序,代码现在改成这样:

让我们观察一下测试执行顺序

这段代码的执行结果是这样的:

注意观察测试执行顺序

看到了没有,执行顺序是:

div_exceptdiv_normalmultisubadd得了,这不是我代码的编写顺序,当我看到div_except之后是div_normal的时候我一度以为它是按我写代码的顺序倒着执行的,其实也不是的啊。

真相即将揭晓

真相就是:Python是按字典顺序执行的。

最后一个问题:什么是字典顺序?

请看下面的代码:

随便写个字典

运行一下这个代码:

字典输出

总结起来就是一句话:Python的单元测试中的测试执行顺序是按字典顺序执行的,字典顺序就是Python中的字典dict所使用的方法确定的顺序,什么方法呢?哈希表,学过Java研究过HashMap的同学肯定很熟悉,不熟悉也没关系,以后慢慢熟悉,见得多了,也就熟悉了。

好,今天的单元测试就到这里,不必太深奥,只要大家在轻松加愉快中掌握它,会用,就好啦。

图不重要,看文字。


转载请注明:http://www.aierlanlan.com/rzfs/3437.html