我有一个严重依赖网络IO请求的系统。我想做一个可靠的性能测试。一种天真的方法可能是让线程进入睡眠状态一段时间。
我的问题是,我将线程置于睡眠状态的事实是否等于线程在 HTTP 请求中被阻止?
我是从线程生命周期的角度来问这个问题的。从理论上讲,如果HTTP请求需要恒定且已知的时间量,那是否等于Thread.sleep?
换句话说,测试结果会一样吗?(当然,在某种程度上,因为调度被认为是不确定的(
目前还不清楚您在这里要测试的内容。
一般来说,在测试中使用Thread.sleep()
不是一个好的做法。
如果要测试应用程序,则应使用模拟服务器模拟正在调用的其他终结点。
使用 Thread sleep 来模拟 http 调用是一种不好的做法。使用真正的 http 调用要好得多。如果您无法向远程服务发送真实的http请求,则可以使用wiremock模拟这些服务
http://wiremock.org/