Thread.sleep 是模拟 HTTP 请求以进行测试的好方法吗?



我有一个严重依赖网络IO请求的系统。我想做一个可靠的性能测试。一种天真的方法可能是让线程进入睡眠状态一段时间。

我的问题是,我将线程置于睡眠状态的事实是否等于线程在 HTTP 请求中被阻止?

我是从线程生命周期的角度来问这个问题的。从理论上讲,如果HTTP请求需要恒定且已知的时间量,那是否等于Thread.sleep?

换句话说,测试结果会一样吗?(当然,在某种程度上,因为调度被认为是不确定的(

目前还不清楚您在这里要测试的内容。

一般来说,在测试中使用Thread.sleep()不是一个好的做法。

如果要测试应用程序,则应使用模拟服务器模拟正在调用的其他终结点。

使用 Thread sleep 来模拟 http 调用是一种不好的做法。使用真正的 http 调用要好得多。如果您无法向远程服务发送真实的http请求,则可以使用wiremock模拟这些服务

http://wiremock.org/

最新更新