gpt4 book ai didi

java - 使用 JUnit 在 Webview 上进行单元测试

转载 作者:行者123 更新时间:2023-11-30 09:26:41 25 4
gpt4 key购买 nike

我在使这个单元测试正常工作时遇到了一些麻烦,我似乎无法弄清楚。如果可以,请帮助检查以下代码和错误,看看它是否对您有意义。我知道这很容易,但我似乎无法让它正常工作。

我有一个问题(mError 不能解析为一个变量)。我做错了什么,我在我的 MockWebViewClient 类中创建了变量。现在,当我注释掉使用 mError 的代码行时,测试仍然可以运行。

但是现在,在运行我的测试时,我在下面的代码行中得到“junit.framework.AssertionFailedError”

assertTrue(!(mWeb.getProgress() < 100));

提前致谢。

WebviewTest.java

private static final String VALID_URL = "http://www.google.com";
private static final String INVALID_URL = "http://invalid.url.doesnotexist987.com";
private static final long TIMEOUT = 5000;
private Enlighten_Webview_Main mActivity;
private WebView mWeb;
private WebViewClient mMockWebViewClient;

// Rest of my code....

public final void testLoadValidUrl() {
assertLoadUrl(VALID_URL);
assertFalse(mMockWebViewClient, mError);
}

public final void testLoadInvalidUrl() {
assertLoadUrl(INVALID_URL);
assertTrue(mMockWebViewClient.mError);
}

private void assertLoadUrl(String url) {
mWeb.loadUrl(url);
sleep();

//Added to hopefully let webview load all the way
getInstrumentation().waitForIdleSync();

assertTrue(!(mWeb.getProgress() < 100));
}

private void sleep() {
try {
Thread.sleep(TIMEOUT);
} catch (InterruptedException e) {
fail("Unexpected timeout");
}
}
public class MockWebViewClient extends WebViewClient {
boolean mError;

@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
mError = true;
}
}

编辑

我通过将我的 mMockWebViewClient 变量切换为正确的类型(即 MockWebViewClient)解决了这个问题。由于 MockWebViewClient 类包含我在 testLoadValidUrl

中需要的 mError boolean 值

最佳答案

testLoadValidUrl 方法中 undefined variable “mError”,可能是错字。有一个逗号“,”,而你可能指的是句号“。”用于成员(member)访问。

即改变

public final void testLoadValidUrl() {
assertLoadUrl(VALID_URL);
assertFalse(mMockWebViewClient, mError);
}

public final void testLoadValidUrl() {
assertLoadUrl(VALID_URL);
assertFalse(mMockWebViewClient.mError);
}

关于java - 使用 JUnit 在 Webview 上进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14905882/

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