0
我目前正在爲我們自己的設備處理一些CTS問題。在我看來,如果我們只能從Eclipse運行一個CTS測試用例,那麼對於調試CTS問題會非常有幫助。 例如,我已創建一個Android測試項目,清單文件:是否可以從Eclipse運行單個Android CTS測試用例?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.content.pm.cts"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" />
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="android.content.pm" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application>
</manifest>
和源代碼:
package android.content.pm.cts;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ResolveInfo.DisplayNameComparator;
import android.test.AndroidTestCase;
public class ResolveInfo_DisplayNameComparatorTest extends AndroidTestCase {
private static final String MAIN_ACTION_NAME = "android.intent.action.MAIN";
private static final String SERVICE_NAME = "android.content.pm.cts.activity.PMTEST_SERVICE";
public void testDisplayNameComparator() {
PackageManager pm = getContext().getPackageManager();
DisplayNameComparator dnc = new DisplayNameComparator(pm);
Intent intent = new Intent(MAIN_ACTION_NAME);
ResolveInfo activityInfo = pm.resolveActivity(intent, 0);
intent = new Intent(SERVICE_NAME);
ResolveInfo serviceInfo = pm.resolveService(intent, PackageManager.GET_RESOLVED_FILTER);
assertTrue(dnc.compare(activityInfo, serviceInfo) < 0);
assertTrue(dnc.compare(activityInfo, activityInfo) == 0);
assertTrue(dnc.compare(serviceInfo, activityInfo) > 0);
}
}
當我在項目點擊右鍵,選擇「運行方式的Android的JUnit測試「它只是報告:測試運行失敗:無法找到儀表目標包:android.content.pm
我知道我可能從一開始就完全錯誤。那麼有誰能爲我指出一個正確的出路嗎? 非常感謝!
是,在這些日子過後,我認爲你的解釋是相當合理的。謝謝。 – Robin 2013-03-19 04:46:27