接口测试 利用 python 的 unittest 模块测试 socket 接口单一执行用例正确,但使用 discover 组合用例执行报错

enumerate · 2018年12月02日 · 最后由 bingo 回复于 2019年11月13日 · 1792 次阅读

以前用 unittest 做过 http 接口的测试,感觉不错,这次做了 tcp/ip 协议的测试,如标题,在执行单一用例的时候,是正常的,但是当我把用例组合在一起的时候却发生了错误。
下面是单一执行的例子
首先是 unittest 下面的一个用法,好像是钩子应该是这么叫的,我在里面没有做任何前提条件
此处是 unittest 的一个用法

class mytest(unittest.TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

下面是一条单一用例,功能是登录

我在此用例页面执行此用例是成功的

此时如果我的用例结合文件夹里执行这一条用例的话,执行后也是成功的


目前为止都是成功的
但是当我的用例多了之后,我测试过只要超过一条就会报错

此时运行测试

原本成功的第一条也变失败了
在此之前,我都没有做 socket.close()
当我加上后没有任何效果,我一开始以为是不是应为是 tcp/ip 协议,我作为客户端发送过去后由于服务器还没有完整接收完我发的包,我就发了第二个包,速度太快导致的,后来我又看到了 shutdown 方法,参数 0,1,2 加上后会提示我套接字已关闭不能接收的提示。
不知道哪位朋友有过相同的经历,可以帮忙解决这个问题

共收到 1 条回复 时间 点赞

解决了吗?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册