Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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
Android Studio中的AndroidJunit4.class运行程序不调用@Test方法_Android_Android Studio_Junit4 - Fatal编程技术网

Android Studio中的AndroidJunit4.class运行程序不调用@Test方法

Android Studio中的AndroidJunit4.class运行程序不调用@Test方法,android,android-studio,junit4,Android,Android Studio,Junit4,我已应用以下说明: 设置JUnit4测试 特别是,我按照步骤将Junit4与ActivityInstrumentationTestCase2一起使用,但是当我在Android Studio中运行测试时,@Test注释的方法不会被执行。如果我在方法前面加上'test',它就可以工作,但是这不是我对JUnit4测试的期望 有人遇到过这个问题吗 关于,我发现我必须添加一个单一的测试方法,如下所示: public void test() {} 然后,我所有的实际测试都用@Test注释,不再需要扩展Ac

我已应用以下说明: 设置JUnit4测试

特别是,我按照步骤将Junit4与ActivityInstrumentationTestCase2一起使用,但是当我在Android Studio中运行测试时,@Test注释的方法不会被执行。如果我在方法前面加上'test',它就可以工作,但是这不是我对JUnit4测试的期望

有人遇到过这个问题吗


关于,

我发现我必须添加一个单一的测试方法,如下所示:

public void test() {}

然后,我所有的实际测试都用
@Test

注释,不再需要扩展
ActivityInstrumentationTestCase2
。如果需要访问
活动
,则测试支持库中的
活动测试规则
存在。您现在可以执行以下操作,而不是扩展ActivityInstrumentationTestCase2:

@RunWith(AndroidJUnit4.class)
public final class ActivityTest {

    @Rule 
    public final ActivityTestRule<MainActivity> activityTestRule =
        new ActivityTestRule<>(MainActivity.class);

    @Test
    public void useActivityInTest() {
        Activity activity = activityTestRule.getActivity();
    }
}
@RunWith(AndroidJUnit4.class)
公开期末课堂活动测试{
@统治
公共最终活动测试规则活动测试规则=
新的ActivityTestRule(MainActivity.class);
@试验
公共无效使用活动INTEST(){
Activity=activityTestRule.getActivity();
}
}

在文件app/build.gradle中指定测试运行程序时修复:

TestInstrumentRunner“android.support.test.runner.AndroidJUnitRunner”


我在Android Studio中尝试运行单个测试方法(通过右键单击并从上下文菜单中选择)而不是整个类时遇到了这个错误


运行整个类导致测试按预期运行。

是否向类添加了
@RunWith(AndroidJUnit4.class)
注释?谢谢你的回复。是的,我有维基上的注释,我的graddle版本“TestInstrumentRunner”中也有运行程序“android.support.test.runner.AndroidJUnitRunner”。不幸的是,仍然没有学会这些方法。(如果我的类没有扩展ActivityInstrumentationTestCase2,那么它可以工作,但是我需要扩展它来访问Android SDK api)多亏了ericharlow,我发现添加一个类似这样的空测试确实可以工作(因此我是你的答案+1),然而,我对此并不满意,从那以后,我决定将Android插件版本改为1.2.2:1.2.3,这不再是必要的。感谢Luke,我在AS中使用了新的测试支持(单元测试和仪器测试)在这个过程中,使用规则和所有lis都很好。最后发布和展示的示例证实了这一点
defaultConfig {
    applicationId "com.domain.appname"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}