在Android Studio中进行单元测试
确认配置的正确性
我的android studio版本
新建一个Android Project项目(我这里用的是myunit这个moudle),
其中,androidTest(暂不使用)、main、test(主要用到)这三个包都是在创建项目时系统自己产生的。
首先,确认在Build Variants窗口内的Test Artifact中选择了"Unit Tests"。
然后,在工程的src
文件夹内查看test
和test/java
文件夹,没有的话就自己创建一个。需要注意的是,你不能在Android视图下进行这些操作,要么在系统的文件管理器内创建,要么在工程窗口左上方点击下拉菜单选择Project视图。最终的工程结构应该是这样的:
最后,打开工程的build.gradle(Module:app)
文件,查看JUnit4依赖。有下面的语句就证明配置成功了
build.gradle
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
}
下面写测试类:
首先,创建一个非常简单的被测类:Calculator类,内容如下非常简单。
创建好了Caculator类之后就添加相应的测试类。
在Caculator 类的界面下点击右键,然后选择goto->TEST.
选择要自动生成的测试方法:
自动生成的代码如下:
我们编写如下代码:
public class CaculatorTest extends TestCase {
private Caculator mCaculator;
@Before
public void setUp() throws Exception {
mCaculator = new Caculator();
}
@Test
public void testAdd() throws Exception {
assertEquals(mCaculator.add(1,2),3);
}
}
然后点击右键运行
结果如下:
解释一下;
上述代码中,Caculator 类中只有一个add方法,然后通过Caculator类自动生成CaculatorTest类,和相应的测试方法testAdd();在testAdd( )方法中,我们用到了assertEquals( )这个判断相等的方法,就是判断mCaculator.add(1,2)所产生的结果到底是不是3.由于我们的add()方法没有错误,所以在运行完后没有产生错误信息。至此一个简单的单元测试也就完成了