Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ActivityUnitTestCase和谷歌地图Android API v2_Android_Unit Testing_Google Maps Android Api 2 - Fatal编程技术网

ActivityUnitTestCase和谷歌地图Android API v2

ActivityUnitTestCase和谷歌地图Android API v2,android,unit-testing,google-maps-android-api-2,Android,Unit Testing,Google Maps Android Api 2,我有一个Android项目,它使用Google地图Android API v2的外部库项目(Google-play-services_lib) 我还有一个测试项目,它从第一点开始测试我的项目 package third.task.android.test; import third.task.android.CompassActivity; import third.task.android.R; import android.app.Activity; import android.cont

我有一个Android项目,它使用Google地图Android API v2的外部库项目(
Google-play-services_lib

我还有一个测试项目,它从第一点开始测试我的项目

package third.task.android.test;

import third.task.android.CompassActivity;
import third.task.android.R;
import android.app.Activity;
import android.content.Intent;
import android.test.ActivityUnitTestCase;

public class CompassActivityTest extends ActivityUnitTestCase<CompassActivity> {

    public CompassActivityTest() {
        super(CompassActivity.class);
    }

    public void testTruth() {
        assertTrue(true);
    }

    public void testPreConditions() {
        startActivity(new Intent(getInstrumentation().getTargetContext(), CompassActivity.class), null, null);
        Activity activity = getActivity();
        assertNull(activity.findViewById(R.id.compasRadar));
    }
}
当我删除负责在布局中显示地图的代码以及与地图相关的代码片段时,一切正常,但我必须使用包括地图在内的全部功能测试我的应用程序。
有什么方法可以做到这一点吗?

关于
ActivityInstrumentationTestCase2
?无需启动活动,只需使用
getActivity()
。如果需要使用自定义启动意图,可以使用
setUp()
中的
setActivityIntent(i)
指定它。我已经测试了它的工作:

package com.grt_team.airplanemode.test;

import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;

import com.grt_team.airplanemode.MainActivity;
import com.grt_team.airplanemode.R;

public class Test extends ActivityInstrumentationTestCase2<MainActivity> {

    public Test() {
        super(MainActivity.class);
    }

    public void testTruth() {
        assertTrue(true);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        //setActivityIntent(i);
    }

    public void testPreConditions() {
        Activity activity = getActivity();

        assertNotNull(activity);
        assertNull(activity.findViewById(0));
        assertNotNull(activity.findViewById(R.id.map_fragment));
    }

}
package com.grt_team.airplanemode.test;
导入android.app.Activity;
导入android.test.ActivityInstrumentationTestCase2;
导入com.grt_team.airplanemode.main活动;
导入com.grt_team.airplanemode.R;
公共类测试扩展了ActivityInstrumentationTestCase2{
公开考试(){
超级(MainActivity.class);
}
公共真理{
资产真实(真实);
}
@凌驾
受保护的void setUp()引发异常{
super.setUp();
//setActivityIntent(i);
}
public void testprepositions(){
Activity=getActivity();
assertNotNull(活动);
assertNull(activity.findviewbyd(0));
assertNotNull(activity.findviewbyd(R.id.map_片段));
}
}

ActivityInstrumentationTestCase2
setActivityIntent()
对我帮助很大。
package com.grt_team.airplanemode.test;

import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;

import com.grt_team.airplanemode.MainActivity;
import com.grt_team.airplanemode.R;

public class Test extends ActivityInstrumentationTestCase2<MainActivity> {

    public Test() {
        super(MainActivity.class);
    }

    public void testTruth() {
        assertTrue(true);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        //setActivityIntent(i);
    }

    public void testPreConditions() {
        Activity activity = getActivity();

        assertNotNull(activity);
        assertNull(activity.findViewById(0));
        assertNotNull(activity.findViewById(R.id.map_fragment));
    }

}