Python 想请教大家个问题:组内已经写了 UI 自动化 case,但是代码 review 中有这一项:不能使用 try..except 很懵逼

一只咸鱼 · February 25, 2019 · Last by xiakexing replied at March 01, 2019 · 1842 hits

有大佬给个建议么?为啥不能用try..except

共收到 16 条回复 时间 点赞

我猜是框架里面有异常处理,它要获取异常信息,如果你自己处理了,它就获取不到了。
这估计是你们组的规则呗

雨夜狂奔 回复

框架里应该没异常处理吧, 辛苦您看下这样使用难道不对么 我是自己处理的异常

异常处理一般都封装在execution层,需要往源码里面翻翻的

andward_xu 回复

辛苦您能看下代码?组内的人说我的except里面没有断言 如果有错的话最好的run还是OK ,是这样的么 我听怀疑的

都不带封装的吗 这代码后期维护看着都头疼

斯拉 回复

刚开始搞自动化 ,封装什么的没涉及到,还在进步中..

估计是希望出现错误的时候,这个case直接认为是失败,执行下一条case.所以建议不要try catch。不然一片飘绿,实际有bug,这个赖谁?

韩将 回复

嗯对,在对比发现中,整个try-execpt 和直接不用try-except,直接使用断言报错的情况是一样的 。

Author only
侠客 回复

嗯呐 已经修改了 谢谢

一只咸鱼 回复

你组员说的是对的。你捕获的异常的话,你代码不管运行怎么样,最后结果都是pass的。因为他们要根据你代码里面执行的异常来判断你case是否通过。

目测楼主用的是AirtestIDE吧

看着是用了airtest框架了,遵循框架的规则吧,就像python必须缩进一样,你可能觉得不适应,但是遵循规则也没错

学无止境 回复

嗯呐是airtest

simple 回复

嗯呐是airtest 已经修改了

一只咸鱼 回复

这么一大串的try,也不好啊。按理说在具体用例中,不需要加try...catch...的,如果报错了,会打印出错误日志,并跳过该条用例了~

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up