android改装机器人,机器人改装测试到Android测试框架

I am trying to write this test in android testing framework to run on emulator since i can't use robolectric in my project for some compatibility reasons.

How do i switch and what do i use (ActivityInstrumentationTestCase2, ActivityTestCase)?

Maybe some example?

I am trying to convert test from this project, and here is the code

package com.swanson.octodroid.test;

import java.util.ArrayList;

import java.util.List;

import org.junit.Before;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.mockito.ArgumentCaptor;

import org.mockito.Captor;

import org.mockito.Mock;

import org.mockito.Mockito;

import org.mockito.MockitoAnnotations;

import org.robolectric.Robolectric;

import org.robolectric.shadows.ShadowToast;

import org.robolectric.util.ActivityController;

import retrofit.Callback;

import com.swanson.octodroid.GitHub;

import com.swanson.octodroid.MainActivity;

import com.swanson.octodroid.Owner;

import com.swanson.octodroid.Repository;

import static org.fest.assertions.api.Assertions.assertThat;

import static org.fest.assertions.api.ANDROID.assertThat;

@RunWith(CustomTestRunner.class)

public class MainActivityTest {

private MainActivity activity;

@Mock

private GitHub mockApi;

@Captor

private ArgumentCaptor>> cb;

@Before

public void setUp() {

MockitoAnnotations.initMocks(this);

ActivityController controller = Robolectric.buildActivity(MainActivity.class);

activity = controller.get();

activity.setApi(mockApi);

controller.create();

}

@Test

public void shouldFillAdapterWithReposFromApi() throws Exception {

Mockito.verify(mockApi).repositories(Mockito.anyString(), cb.capture());

List testRepos = new ArrayList();

testRepos.add(new Repository("rails", "ruby", new Owner("dhh")));

testRepos.add(new Repository("android", "java", new Owner("google")));

cb.getValue().success(testRepos, null);

assertThat(activity.getListAdapter()).hasCount(2);

}

@Test

public void shouldToastSadMessageIfNoRepos() throws Exception {

Mockito.verify(mockApi).repositories(Mockito.anyString(), cb.capture());

List noRepos = new ArrayList();

cb.getValue().success(noRepos, null);

assertThat(ShadowToast.getTextOfLatestToast()).contains("No repos :(");

assertThat(activity.getListAdapter()).isEmpty();

}

@Test

public void shouldToastIfApiError() throws Exception {

Mockito.verify(mockApi).repositories(Mockito.anyString(), cb.capture());

cb.getValue().failure(null);

assertThat(ShadowToast.getTextOfLatestToast()).contains("Failed");

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值