在Android项目中覆盖Emma

时间:2014-04-09 13:18:44

标签: java android code-coverage emma

我有一个android项目,我在其中创建了一个测试文件夹。 我的测试成功通过了xith JUnit但是当我想看到Emma的覆盖时我发现了一个错误。 我已经安装了Emma pluging with help>安装新软件,会出现绿色图标。

我按照这样构建我的项目:

  • MyApp的
    • SRC
      • com.example.orga
        • LoginActivity.java
    • RES
    • 测试
      • com.example.orga.test
        • R.java
        • BuildConfif.java
      • AndroidTestTest.src.com.example.orga.test
        • LoginActivityTest.java

请参阅我的LoginActivityTest.java

public class LoginActivityTest extends
ActivityInstrumentationTestCase2<LoginActivity> {


    private LoginActivity mActivity;
    private EditText ed_username;

    public LoginActivityTest() {
        super(LoginActivity.class);
        // TODO Auto-generated constructor stub
    }

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

        setActivityInitialTouchMode(false);

       mActivity = getActivity();

       ed_username =(EditText)     mActivity.findViewById(com.example.organisateur.R.id.editTextMail);

    } // end of setUp() method definition


   public void testFillUsername(){
        // set text
        getActivity().runOnUiThread(new Runnable() {

          @Override
          public void run() {
            ed_username.setText("paul");
          }
        });

        getInstrumentation().waitForIdleSync();
        assertEquals("Text incorrect", "paul", ed_username.getText().toString());

    }
 }

在AndroidManifest.XML文件中

  <instrumentation
        android:targetPackage="com.example.organisateur"
        android:name="android.test.InstrumentationTestRunner" />

...

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
         <uses-library android:name="android.test.runner" />

错误:

java.lang.NoClassDefFoundError: android/test/ActivityInstrumentationTestCase2 at      
java.lang.ClassLoader.defineClass1(Native Method) at 
java.lang.ClassLoader.defineClass(Unknown Source) at
java.security.SecureClassLoader.defineClass(Unknown Source) 
.... 
Caused by: 
java.lang.ClassNotFoundException: android.test.ActivityInstrumentationTestCase2 at    
java.net.URLClassLoader$1.run(Unknown Source)

我的项目有什么问题?

1 个答案:

答案 0 :(得分:0)

好的,我发现为什么会出现这个错误。我必须在我的项目中包含JUnit.jar,以便使用Eclipse工具安装插件JUnit。