Android Studio中的AndroidJunit4.class运行程序不调用@Test方法
我已应用以下说明: 设置JUnit4测试 特别是,我按照步骤将Junit4与ActivityInstrumentationTestCase2一起使用,但是当我在Android Studio中运行测试时,@Test注释的方法不会被执行。如果我在方法前面加上'test',它就可以工作,但是这不是我对JUnit4测试的期望 有人遇到过这个问题吗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
关于,我发现我必须添加一个单一的测试方法,如下所示:
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"
}