为什么不能将AndroidJUnit4和ActivityTestRule导入单元测试类?

哈卢帕:

我在导入某些Android UI测试框架类时遇到了麻烦-我只是不知道出了什么问题!

这是我的课:

@RunWith(AndroidJUnit4.class)
@LargeTest
public class ExampleUnitTest {

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

@Test
public void listGoesOverTheFold() {
    onView(withText("Hello world!")).check(matches(isDisplayed()));
  }
}

但是由于某种原因,我得到了错误“找不到符号ActivityTestRule”和“找不到符号AndroidJUnit4”。我尝试导入它们,但找不到它们。

build.gradle中的依赖项设置为:

compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
androidTestCompile 'com.android.support:support-annotations:23.4.0'

androidTestCompile 'com.android.support.test:runner:0.4'
androidTestCompile 'com.android.support.test:rules:0.4'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'

所以我想我已经完成了所有依赖项设置-我已经尝试了很多事情,但是没有运气。

有人有主意吗?

贾诺德:

您可以在Android中设置两种不同类型的测试

单元测试

  • 它们直接在JVM上运行,无法访问Android框架类。
  • 它们保存在test/java包装中
  • 需要使用以下命令在build.gradle文件中添加依赖项 testCompile
  • 您通常使用Mockito,Robolectric和JUnit进行这些测试

仪器测试

  • 它们在Android模拟器上运行,并且可以完全访问所有Android类
  • 它们保存在androidTest/java包装中
  • 需要将依赖项添加到build.gradle中 androidTestCompile
  • 您通常使用Espresso和JUnit进行这些测试

据我所知,您正在尝试使用Espresso编写仪器测试,但将您的测试放在test/java用于单元测试软件包中。在这种情况下,您需要将测试类移至androidTest/java包中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法解析符号AndroidJUnit4

为什么不能将Java类声明为静态?

仅使用AndroidJunit4时日历测试通过

为什么在PACT测试中需要单元测试?

无法解析符号“ AndroidJUnit4”

为什么不能识别“异步无效”单元测试?

什么是单元测试?

Android Instrumentation在使用AndroidJunitRunner和AndroidJUnit4时测试java.lang.UnsatisfiedLinkError

为什么rdmd不能运行所有单元测试?

不能将主要的swift类导入测试目标吗?

为什么log4j 2不记录应用程序和单元测试的方法名称

为什么我不能将@WithMockUser导入我的测试

为什么我的反应单元测试导入无法正常工作?

AndroidJunit4不接受空间功能测试名称吗?

为什么我不能将语义导入反应组件

iOS为什么单元测试类调用ViewController

为什么不能将Material AppBar设置为单独的类?

为什么在单元测试中使用RESTful Web服务(使用javax.ws.rs。*和Jsersey)可以工作,但是提交给Spark时却不能工作?

为什么在单元测试中对instanceOf的测试失败?

为什么不能将密钥导入gnome密钥环?

为什么log4net XmlConfigurator属性不能用于我的单元测试

单元测试什么-简单验证类

为什么要进行单元测试和功能测试

为什么我可以在单元测试类中访问私有方法

为什么不能将[assembly:Dependency()]放在类之上?

为什么不能将字典键设为单元格?

为什么不能将测试 JSON 转换为日期时间?

AndroidJUnit4 测试:保持活动活跃

为什么我不能为我的单元测试修补来自不同文件的类?