学了android studio中使用junit来温故一下。
一.首先配置测试环境
在需要测试的module的gradle中defaultConfig {}中加入testInstrumentationRunner”android.support.test.runner.AndroidJUnitRunner”表明要使用AndroidJUnitRunner进行单元测试。
如果不加这句的话我试了一下报no test were found
defaultConfig {
applicationId "*****"
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
//上面的不用管
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
加入依赖库
testCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test:rules:0.4.1'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support:support-annotations:23.1.1'
*ps: testCompile 和 Compile的区别
compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。
Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起作用。
想了解更多可以去搜一下 android studio的六种依赖
*
下一步AndroidManifest.xml中application标签对中加入
<uses-library android:name="android.test.runner" />
ps: 这个元素用于指定该应用程序必须链接的共享类库。这个元素告诉系统该应用程序包的类装载器中所包含的类库代码。Android的所有包(如andorid.app,android.content,android.view和android.widget等)都在应用程序自动链接的默认类库中。但是,有些包是在于独立的类库中,它们不能被自动的链接到应用程序包中,要查看这些包的文档,以确定要把哪些类库包含到包的代码中。
android.test.runner库就是包含Android测试类的一个程序包。
二.创建Junit测试的实例
随便找了一个bean类来测试
类名右键go to -> Test
把你需要的方法勾上 ok 后会自动在androidTest下生成该test类
private JokeBean jokeBean;
@Before
public void setUp() throws Exception {
jokeBean=new JokeBean();
}
@After
public void tearDown() throws Exception {
}
@Test
public void testGetError_code() throws Exception {
jokeBean.setError_code(3);
assertEquals(3,jokeBean.getError_code());
}
三.运行
点击该test类中左边的绿色运行箭头即可。或者右键该test类run “…test”。