本节开始之前,需要改正一个小bug,是群内同学提出的。就是正则断言的时候,提取的都是字符串,那么预期值就也写字符串就好了,没必要进行求值类型的设计。 这里我觉得也可以,所以先改一下我们的正则断言的规则 如下:
然后设置好并保存:
代码语言:javascript复制o":(.*?),"e=2
这个提取到的应该是en,也就是字符串0,但是我故意写成会被变成字符串的2作为预期值。
然后去写代码:
重启服务。我们运行下看看报告:
发现程序并没有成功走到我们的正则断言上,因为unittest的步骤函数中,一旦断言失败,那么该条用例内的代码便不再继续走了。我们昨天故意断言错了路径法,所以导致正则断言没被运行,这里我们删除路径法的设置并保存,再运行一次:
现在正常了。
接下来实现全文检索是否存在的断言方式:
让我们先看下规则:
再看下实际返回体:
然后我们设置好:
我们添加了俩个实际存在关键字符串,0和errmsg。
还有一个不存在的字符串:测试开发干货
注意,别忘了删除上面的断言哦~ 否则又运行不到这个全文检索了:
别忘了保存!!!
然后是 代码部分:
重启服务,运行结果:
好了,这里结束,我们基本搞定了这俩个提取和三个断言, 下节我会讲讲输出优化和接口mock的小功能。
临时追加一个群内小伙伴提出的被忽略的设置,就是时区,django默认时区并不是中国的,这会影响到我们报告生成时间的时区,导致早了8小时。
所以我们要改一下,具体改的位置在settings.py里 最后:
改成:
重启服务即可生效。