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

时间:2019-08-06 10:53:55

标签: java multithreading

我有一个严重依赖网络IO请求的系统。我想进行可靠的性能测试。一种幼稚的方法可能是使线程休眠一段时间。

我的问题是,我使线程进入睡眠状态是否等于在HTTP请求中被阻塞的线程?

我是从Thread Lifecycle的角度来问这个问题。从理论上讲,如果一个HTTP请求将花费一个恒定且已知的时间,那等于Thread.sleep吗?

换句话说,测试结果是否相同? (当然,在某种程度上,因为调度被认为是不确定的)

2 个答案:

答案 0 :(得分:1)

目前尚不清楚您要在这里测试什么。

通常来说,在测试中使用Thread.sleep()并不是一个好习惯。

如果要测试应用程序,则应该使用模拟服务器模拟正在调用的另一个端点。

答案 1 :(得分:1)

使用线程睡眠来模拟http调用是一种不好的做法。最好使用实际的http调用。如果您无法将真正的http请求发送到远程服务,则可以使用Wiremock模拟这些服务

http://wiremock.org/