Robolectric 配置

费了些工夫,已配好,按记录留记录

按官网操作http://robolectric.org/getting-started/

1引包

testCompile "org.robolectric:robolectric:3.0"

示例
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.loopj.android:android-async-http:1.4.7'
compile 'com.jakewharton:butterknife:6.1.0'
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:3.0'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.squareup.okhttp:okhttp:2.5.0'
compile files('libs/jsoup-1.8.3.jar')
compile 'junit:junit:4.12'
}


2edit configurations

 editing the run configurations, Defaults -> JUnit and changing the working directory value to $MODULE_DIR$.

3添加JUnit(这一点官方没有说明)

editing the run configurations

左上角 按+号 添加选中JUnit

设置fock mode 为method

设置user pclasspath of module 选中要测试的module

设置Class(需要加注解,才能识别)

4在方法上右键goto test 新建测试,编写方法,加注解

示例

@RunWith(RobolectricGradleTestRunner.class)

public class netTest {
    @Test
    @Config(constants = BuildConfig.class)
    public void testHttpCookieGet() throws Exception {
        System.out.println("ssout3");
            net n=new net();
            n.HttpCookieGet();
            System.out.println("ssout");
            Log.w("wbody  hello", "workd");
            assertEquals("1","1");
    }
}

注意引用

import com.mac.cdp.baidusign.BuildConfig;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config;

5执行报错

项目api版本为22

Robolectric does not support API level 22

改为 

 @Config(constants = BuildConfig.class,sdk = 21)

执行通过

6

目前Log 和system.out.print()都还打不出日志。

 傻了,日志还是在 android monitor里,我还以为用这种测试不会启动 android

转载于:https://www.cnblogs.com/zihunqingxin/p/4808374.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值