问题描述
我有这个改造电话:
#include <QApplication>
#include <QAction>
#include <QMenu>
int main(int argc,char** argv){
QApplication qapp_base = QApplication(argc,argv);
QWidget qwin_main = QWidget();
qwin_main.setFixedSize(1280,720);
QMenu qmen_main = QMenu(&qwin_main);
qwin_main.show();
qmen_main.show();
return qapp_base.exec();
}
并希望使用 MockWebServer 触发 api.enqueue(new Callback<ResponseBody>() {
@Override
public void onFailure(Call<ResponseBody> call,Throwable t) {
t.printstacktrace();
}
@Override
public void onResponse(Call<ResponseBody> call,Response<ResponseBody> response) {
try {
if (response.isSuccessful()) { // 200 - 300
String responseBody = response.body().string();
...
}
} catch (IOException e) {
e.printstacktrace()
}
}
}
中的 IOException
。
我试过了
.string()
但它以 MockResponse mockResponse = new MockResponse()
.setResponseCode(200)
.setSocketPolicy(SocketPolicy.disCONNECT_DURING_RESPONSE_BODY)
.setBody("{}");
结束。
如何触发 OnFailure
?
解决方法
类似于以下内容
private void responseBodyFail(Protocol expectedProtocol) throws IOException {
// Use a 2 MiB body so the disconnect won't happen until the client has read some data.
int responseBodySize = 2 * 1024 * 1024; // 2 MiB
server.enqueue(new MockResponse()
.setBody(new Buffer().write(new byte[responseBodySize]))
.setSocketPolicy(SocketPolicy.DISCONNECT_DURING_RESPONSE_BODY));