android studio 单元测试

标签:android   studio   测试   

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992

Android Studio已经到了1.2版本,国内的开发者基本也在从Eclipse向Android Studio进行转变,对于Android开发者,以后必将是Android Studio的天下。 
昨天在完善煎蛋项目的时候,需要进行单元测试,在Eclipse环境中进行是很简单的,但是在Android Studio环境中进行单元测试,我还没有尝试过,在国内找了很多资料,大都是人云亦云,也没有测试成功,然后在这篇文章的指导下成功运行,特此翻译,供大家学习参考。

原文:http://rexstjohn.com/unit-testing-with-android-studio/


这篇文章介绍了在Android Studio中进行单元测试的基础部分。

在Android Studio中可以进行单元测试

很多的文章指导你应该在“build.gradle” 文件里面添加几行代码从而允许单元测试,并且告诉你应该在项目依赖中添加Android测试库。

其实你并不需要按照这种错误的方式去做,因为这是完全没有必要的。

Android Studio本身就支持Android单元测试,你只需要在你的项目中配置一下就可以了。

注意:还有好几种广受欢迎的Android单元测试框架,比如Robolectric,它们比我在这里提到的需要更多的配置,我希望在未来可以以这个题目再写一些指导文章。

创建你的单元测试文件夹

我喜欢把单元测试放在我的主项目里面,比如“com.mypath.tests.” ,你可以把测试目录放到你想要的地方。开始之前,像下面这样,先创建你的测试文件夹。(译者注:这一步不是必须的,你也可以把单元测试类创建在与Android Studio默认的ApplicationTest类相同的路径下面)

技术分享

接下来,创建一个叫做 “ExampleTest”的类,注意要继承自InstrumentationTestCase类

技术分享

然后可以添加一个简单的测试代码,我们知道这段代码肯定会运行失败

public class ExampleTest extends InstrumentationTestCase {
    public void test() throws Exception {
        final int expected = 1;
        final int reality = 5;
        assertEquals(expected, reality);
    }
}

注意:所有的测试方法必须以”test”开头,这样Android Studio才能自动的找到所有你想要进行单元测试的方法。

为你的项目配置单元测试

现在我们已经有了一个会运行失败的测试单元,我们必须把它run起来。

首先点击”Run-> Edit Configurations”

技术分享

然后点击“+”从左边弹出的列表里,选择添加一个 Android Tests,然后你可以在右上角给它改名为你想要的名字。

技术分享

然后就会创建一下像下面这样的测试项目配置

技术分享

从下拉菜单中选择你当前的module

技术分享

接下来,选择”All in Package”选项,然后把你的刚才创建的测试文件夹选中。你也可以选择“All in Module”选项,这样Android Studio会自动的找到你整个Module中的所有测试单元,你也可以通过另外的选项,指定某一个类甚至是测试方法。

做完这一切之后,看起来应该像下面这样

技术分享

我也喜欢选中下面的“Show chooser dialog”,这样当每次运行的时候,我可以指定如何去运行

技术分享

现在点击”Apply”然后关闭,你现在应该可以看到你的测试案例已经作为一个可以运行的项目配置在Android Studio上面的工具栏上了

技术分享

运行我们的单元测试

我使用Genymotion来完成所有的事情,所以开启你的Genymotion然后运行test

在assertion这一行添加一个断点,然后点击 “run debug mode”,目的是为了证明Android Studio确实执行了我们的单元测试

技术分享

当你开始你的测试工程之后,你会看到一个叫做“Running Tests…”的显示窗口

技术分享

当你的测试没有通过,点击“Logcat”然后查看综合的输出结果,看下我们测试失败的原因

技术分享

通过控制台,你会发现给出的错误理由应该是

junit.framework.AssertionFailedError: expected:<1> but was:<5>

恭喜你,你已经成功测试出错误啦~

下面的这些资料在完成本文时,给了很大的帮助

【Android开发经验】使用Android Studio进行单元测试

标签:android   studio   测试   

Android Studio提供了强大的单元测试功能,可以帮助开发人员验证代码的正确性和稳定性。以下是关于Android Studio单元测试的一些常见问题和答案: 1. 如何创建一个单元测试类? 在Android Studio中,可以在测试文件夹中创建一个Java类,并添加@Test注解来标记测试方法。例如: ```java import org.junit.Test; public class MyUnitTest { @Test public void addition_isCorrect() { assertEquals(4, 2 + 2); } } ``` 运行该测试类时,可以通过右键点击类名或方法名并选择"Run 'MyUnitTest'"来执行测试。 2. 如何运行单元测试? 可以通过多种方式运行单元测试: - 在测试类或测试方法上右键点击,并选择"Run 'ClassName'"或"Run 'MethodName'"。 - 在项目视图中,找到测试类或测试方法,并点击绿色的三角形图标来运行。 - 使用快捷键Shift + F10(Windows)或Control + R(Mac)来运行最后一次测试。 3. 如何检查单元测试的结果? 在运行单元测试后,可以在"Run"窗口中查看测试结果。绿色表示通过的测试,红色表示失败的测试。如果有失败的测试,可以点击失败的测试方法来查看详细的错误信息。 4. 如何使用断言来验证结果? 在单元测试中,可以使用断言来验证代码的预期行为。Android Studio使用JUnit框架来提供断言方法。常用的断言方法包括: - assertEquals(expected, actual):验证两个值是否相等。 - assertTrue(condition):验证条件是否为真。 - assertFalse(condition):验证条件是否为假。 - assertNull(object):验证对象是否为null。 - assertNotNull(object):验证对象是否不为null。 等等。 5. 如何模拟依赖进行单元测试? 在某些情况下,我们可能需要模拟依赖对象来进行单元测试Android Studio可以使用Mockito等框
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值