为了账号安全,请及时绑定邮箱和手机立即绑定

测试包含锁的函数时,Go 应用程序挂起

测试包含锁的函数时,Go 应用程序挂起

Go
慕工程0101907 2021-09-09 15:02:12
这是我编写的将请求添加到请求队列的函数:func (self *RequestQueue) addRequest(request *Request) {    self.requestLock.Lock()    self.queue[request.NormalizedUrl()] = request.ResponseChannel    self.requestLock.Unlock()}这是它的测试之一:func TestAddRequest(t *testing.T) {    before := len(rq.queue)    r := SampleRequests(1)[0]    rq.addRequest(&r)    if (len(rq.queue) - 1) != before {        t.Errorf("Failed to add request to queue")    }}当我运行此测试时,应用程序挂起。如果我注释掉这个测试,一切正常。我认为问题在于函数内部的锁定。有什么我做错了吗?谢谢你的帮助!
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信