java - 由于 IllegalState 异常,Android TestRunner 失败

标签 java android unit-testing junit

我正在运行 android Instrumentation 测试以对 Activity 进行单元测试,特别是 WebView 是否已加载代码如下,但每次我得到异常

Running tests Test running started Test failed to run to completion. Reason: 'Instrumentation run failed due to 'java.lang.IllegalStateException''. Check device logcat for details Test running failed: Instrumentation run failed due to 'java.lang.IllegalStateException'

没有 Logcat 日志,只有控制台中的这条消息,在 Genymotion 上尝试过,设备都在 android 5.0 上。

代码如下

public class WebViewActivityTest extends ActivityInstrumentationTestCase2 <WebViewActivity> {

    WebView webView;
    WebViewActivity testActivity;

    public WebViewActivityTest()
    {
        super(WebViewActivity.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        testActivity = getActivity();

    }

    public void testWebView()
    {
        webView = (WebView)testActivity.findViewById(R.id.webView);
        assertNotNull(webView);
    }

    public void testPreconditions() {

        assertNotNull("Webview activity is null",testActivity);
    }
}

我已尝试搜索,但不知道为什么会发生此异常,请帮助。

最佳答案

在 try 语句之后添加一个 catch 语句,并给 try 语句一个异常(exception)。语法可能有点不对,但应该可以解决您的问题

public class WebViewActivityTest extends ActivityInstrumentationTestCase2 <WebViewActivity> {

WebView webView;
WebViewActivity testActivity;

public WebViewActivityTest()
{
    super(WebViewActivity.class);
}

@Override
protected void setUp() throws(exeption e) {
    super.setUp();
    testActivity = getActivity();
    catch(exeption e)
    System.out.println("Nope!);

}

public void testWebView()
{
    webView = (WebView)testActivity.findViewById(R.id.webView);
    assertNotNull(webView);
}

public void testPreconditions() {

    assertNotNull("Webview activity is null",testActivity);
}

}

关于java - 由于 IllegalState 异常,Android TestRunner 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31475993/

相关文章:

android - Roboguice 辅助标注

php - 电子邮件验证。从网站访问时工作,但未通过单元测试

java - 将字符串转换为 double ?

java - 如何在按下按钮时循环播放声音并在释放时停止播放?

java - 在对象内导航数组,Android Java

c# - 使用在 UI 中执行的业务逻辑对数据库应用程序进行单元测试

c# - 在 MSTest 中处理单元测试中的预期异常

Java : Remove strange special characters from String

java - 如何将具有相同内容的二叉搜索树的节点推送到堆栈中

php - android 使用 json 与 php mysql 连接