Android Studio----中使用JUNIT测试及Context获取

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。


1.首先在module的build.gradle中添加以下依赖
testImplementation 'junit:junit:4.13-beta-3'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

Android Studio----中使用JUNIT测试及Context获取_第1张图片

2.选中我的项目中要测试的方法OnCreate(Bundle savedInstanceState),右键选择GO TO -> Test

Android Studio----中使用JUNIT测试及Context获取_第2张图片

3.然后选择Create New Test

Android Studio----中使用JUNIT测试及Context获取_第3张图片

4.依次填写Class Name、Destination package,勾选setUp,勾选要测试的方法

Android Studio----中使用JUNIT测试及Context获取_第4张图片

5.选择路径

Android Studio----中使用JUNIT测试及Context获取_第5张图片

6.在setUp()方法中完成实例化对象

Android Studio----中使用JUNIT测试及Context获取_第6张图片

7.在LoginMainActivityTest上右键,选择Run LoginMainActivityTest

Android Studio----中使用JUNIT测试及Context获取_第7张图片

8.选择模拟器

Android Studio----中使用JUNIT测试及Context获取_第8张图片

9.运行结果如图所示

Android Studio----中使用JUNIT测试及Context获取_第9张图片

从运行结果"Tests ran to completion"看出本次测试运行成功,没有抛出异常。在Event Log中显示了"Tests passed:1"。

注意:

在AndroidJUnit4直接通过getContext()获取到的context并不是当前APP的context,而是instrumentation的context,应使用以下方法来获取context。

InstrumentationRegistry.getInstrumentation().targetContext
或者

InstrumentationRegistry.getTargetContext()
 

最后贴上自己运行的结果

 Android Studio----中使用JUNIT测试及Context获取_第10张图片

你可能感兴趣的:(Android Studio----中使用JUNIT测试及Context获取)