gpt4 book ai didi

android-testing - MockWebServer: llegalStateException: start() 已经调用

转载 作者:行者123 更新时间:2023-12-05 00:48:54 28 4
gpt4 key购买 nike

我尝试使用 MockWebServer 运行测试。

我想使用模拟响应进行 UI 测试,以便我可以测试有效\无效的 UI 更改,例如登录或在登录 API 中显示错误。

但是,每次运行代码时,我都会收到 以下异常:

java.lang.IllegalStateException: start() already called

代码:
@RunWith(AndroidJUnit4.class)
public class UITestPlayground {

String testUrl = "http://testurl.com/";
MockWebServer server = new MockWebServer();

@Rule
public IntentsTestRule<LoginActivity> mIntentsRule = new IntentsTestRule<>(LoginActivity.class);

@Before
public void beforeHelper() throws IOException {
TestHelper.removeUserAndTokenIfAny(mIntentsRule.getActivity());
URLS.baseUrl = testUrl;
server.url(URLS.baseUrl);
//try to shutting down the server JUT IN CASE...
server.shutdown();
server.start();

}

@After
public void afterHelper() throws IOException {
server.shutdown();
}


@Test
public void invalidLoginDueNotValidJSONResponse() {

server.enqueue(new MockResponse().setBody("Something not valid JSON response"));

String emailToBeTyped = "tester@tester.com";
String passToBeTyped = "passtest";

ViewActions.closeSoftKeyboard();
// Type text and then press the button.
onView(withId(R.id.login_email_edit)).perform(typeText(emailToBeTyped));
ViewActions.closeSoftKeyboard();
onView(withId(R.id.login_pass_edit)).perform(typeText(passToBeTyped));
ViewActions.closeSoftKeyboard();
onView(withId(R.id.log_in_btn)).perform(click());

//TODO: check on valid error message appearing

}
}

我究竟做错了什么? .start() 只调用一次,我什至 .shutdown() 就在
案例...我不明白它怎么会调用不止一次。

提前致谢。

最佳答案

github 的原始示例中,我发现 顺序颠倒了。

ctually 启动服务器,然后设置它的 url。

并且不设置 url 然后启动服务器。

有趣的。

关于android-testing - MockWebServer: llegalStateException: start() 已经调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48541387/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com