• Robolectric


    今天学习了单元测试框架,Robolectric。初步感觉,可能我测试的少,没有感觉Robolectric能有多大的帮助。虽然可以帮助创建activity。可以模拟点击事件。可是有什么呢。
    好吧,讲下使用:
    参看:

    http://robolectric.org/extending/
    
    https://github.com/robolectric/robolectric

    1.这个框架是要配合junit使用的。所以:

        testCompile 'junit:junit:4.12'
        testCompile "org.robolectric:robolectric:3.1"

    2.编写测试代码:

    package cebactivity.chinaceb.com.myapplication;
    
    import android.content.Intent;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.robolectric.Robolectric;
    import org.robolectric.RobolectricGradleTestRunner;
    import org.robolectric.Shadows;
    import org.robolectric.annotation.Config;
    import org.robolectric.shadows.ShadowActivity;
    
    import static junit.framework.TestCase.assertNotNull;
    import static org.junit.Assert.assertEquals;
    
    /**
     * Created by Administrator on 2016/6/26.
     */
    @RunWith(RobolectricGradleTestRunner.class)
    @Config(constants = BuildConfig.class, sdk = 19)
    public class testmain {
        @Test
        public void testMainActivity() {
            MainActivity mainActivity = Robolectric.setupActivity(MainActivity.class);
            mainActivity.findViewById(R.id.bt).performClick();
    
            Intent expectedIntent = new Intent(mainActivity, SecondActivity.class);
            ShadowActivity shadowActivity = Shadows.shadowOf(mainActivity);
            Intent actualIntent = shadowActivity.getNextStartedActivity();
            assertEquals(expectedIntent, actualIntent);
        }
    
        @Test
        public void testActivity() {
            MainActivity sampleActivity = Robolectric.setupActivity(MainActivity.class);
            assertNotNull(sampleActivity);
            assertEquals(sampleActivity.getClass().getName(), "cebactivity.chinaceb.com.myapplication.MainActivity");
        }
    }

    第一个测试老是通不过,妈的,明明是同一个,偏偏不让我过。好吧,不许吐槽。

  • 相关阅读:
    js html table转json 反向生成数据源
    用命令提示符 打开 asp.net Development Server
    asp.net 'Sys'未定义 解决方案
    js form转换成Hash格式
    【转】NSIS 常用安装路径
    Linq lamdba GroupJoin外连接示例
    CDN简单了解
    获取android入口activity
    解决IE6下 li 的 float:left 自动换行
    WinForm窗口基础配置
  • 原文地址:https://www.cnblogs.com/caoxinyu/p/6647844.html
Copyright © 2020-2023  润新知