简体   繁体   English

SuperNotCalledException运行单元测试

[英]SuperNotCalledException running unit test

I am trying to run this Android unit test, following this tutorial :: 我正在尝试按照本教程进行以下Android单元测试::

http://developer.android.com/resources/tutorials/testing/helloandroid_test.html http://developer.android.com/resources/tutorials/testing/helloandroid_test.html

and in doing so get a SuperNotCalledException 并获得一个SuperNotCalledException

Here's the test class code :: 这是测试类代码::

package com.example.helloandroid2.test;

import android.test.ActivityInstrumentationTestCase2;
import android.widget.TextView;

import com.example.helloandroid2.HelloAndroid2Activity;

public class HelloAndroid2Test extends ActivityInstrumentationTestCase2<HelloAndroid2Activity>
{
    private HelloAndroid2Activity mActivity;
    private TextView mView;
    private String resourceString;

    public HelloAndroid2Test()
    {
        super("com.example.helloandroid2", HelloAndroid2Activity.class);
    }

    @Override
    protected void setUp() throws Exception
    {
        super.setUp();
        mActivity = this.getActivity();
        mView = (TextView) mActivity.findViewById(com.example.helloandroid2.R.id.textview);
        resourceString = mActivity.getString(com.example.helloandroid2.R.string.hello);
    }

    public void testPreconditions()
    {
          assertNotNull(mView);
    }

    public void testText()
    {
          assertEquals(resourceString,(String)mView.getText());
    }
}

The class I'm actually testing :: 我正在测试的课程::

package com.example.helloandroid2;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        setContentView(R.layout.main);

    }
}

I've set the project API levels at 2_3_1 and am using an avd set at the same. 我已将项目API级别设置为2_3_1,并且正在使用相同的avd设置。 Am running Eclipse with ADT on Windows Vista. 在Windows Vista上使用ADT运行Eclipse。

All wisdom greatfully recieved. 所有的智慧都得到了极大的回报。 Thanks in advance. 提前致谢。

Chris 克里斯

您在HelloAndroid2Activity onCreate()方法需要调用super.onCreate(savedInstanceState);

public class HelloAndroid2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM