【学习笔记】系列十二:Google Espresso和Robolectric配置实例
2016-03-07 16:29
489 查看
一、Google Espresso
首先创建一个最简单的Android项目,包含一个Hello World的TextView。打开Build Variant,选择Android Instumentation Tests。在build.gradle中配置Espresso,增加的代码如下:
之后点击Gradle同步。到src/androidTest删除自动生成的ApplicationTest.java,新建MainActivityTest.java如下。这段代码主要是测试Hello world!这段文字是否显示到了界面上。
右击MainActivityTest.java,选择Run。
二、Robolectric
首先创建一个最简单的Android项目,包含一个Hello World的TextView。打开Build Variant,选择Unit Tests。修改build.gradle,增加Robolectric依赖如下:
新建MainActivityUnitTest.java代码如下:
右键点击test目录下的MainActivityUnitTest.java,选择Run。
首先创建一个最简单的Android项目,包含一个Hello World的TextView。打开Build Variant,选择Android Instumentation Tests。在build.gradle中配置Espresso,增加的代码如下:
apply plugin: 'com.android.application' android { ... defaultConfig { ... testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } packagingOptions { exclude 'LICENSE.txt' } } dependencies { ... androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1' androidTestCompile 'com.android.support.test:runner:0.2' }
之后点击Gradle同步。到src/androidTest删除自动生成的ApplicationTest.java,新建MainActivityTest.java如下。这段代码主要是测试Hello world!这段文字是否显示到了界面上。
@LargeTest public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { public MainActivityTest() { super(MainActivity.class); } @Override public void setUp() throws Exception { super.setUp(); getActivity(); } public void testHelloWorldOnView() { onView(withText("Hello world!")).check(matches(isDisplayed())); } }
右击MainActivityTest.java,选择Run。
二、Robolectric
首先创建一个最简单的Android项目,包含一个Hello World的TextView。打开Build Variant,选择Unit Tests。修改build.gradle,增加Robolectric依赖如下:
{ ... dependencies { ... testCompile 'junit:junit:4.12' testCompile "org.assertj:assertj-core:1.7.0" testCompile('org.robolectric:robolectric:3.0-rc2') { exclude group: 'commons-logging', module: 'commons-logging' exclude group: 'org.apache.httpcomponents', module: 'httpclient' } }
新建MainActivityUnitTest.java代码如下:
@RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class, emulateSdk = 21) public class MainActivityUnitTest { private MainActivity activity; @Before public void setUp() throws Exception { activity = Robolectric.setupActivity(MainActivity.class); } @Test public void testHelloWorld() throws Exception { TextView helloWorldTextView = (TextView) activity.findViewById(R.id.textview_id); assertThat(helloWorldTextView.getText().toString()).isEqualTo("Hello World!"); } }
右键点击test目录下的MainActivityUnitTest.java,选择Run。
相关文章推荐
- (EM算法)The EM Algorithm
- wamp环境项目连接虚拟机mongo出现连接失败,原因是防火墙端口没开
- 用go语言进行冒泡排序法
- mongo排序与分页
- Fragment( Google官方文档)
- 最新可访问Google的Hosts文件
- Django框架应用
- hdu 4033 Regular Polygon 计算几何 二分+余弦定理
- hosts google
- Mercedes-Benz Axor
- 2016年2月全球搜索引擎份额:Google份额超67%
- HDU 3903 Trigonometric Function
- 我与小娜(27):AlphaGo围棋手的技术奥秘
- Goal2016
- 编写GO的WEB开发框架 (六): Validator数据校验
- mangodb的安装
- FZU 1002 HangOver(简单题目)
- UVA 11090(p333)----Going in Cycle!!
- CodeForces 598D Igor In the Museum【dfs】
- 用Category给类中添加属性