您的位置:首页 > 编程语言 > Go语言

【学习笔记】系列十二:Google Espresso和Robolectric配置实例

2016-03-07 16:29 489 查看
一、Google Espresso

首先创建一个最简单的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。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: