在robotium模拟测试 [英] testing with mock in robotium

查看:190
本文介绍了在robotium模拟测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用嘲笑为我Rbotium测试。我的第一次测试失败,另一个测试通过。我认为这是因为该模拟还没有准备好进行测试。但是当我加入一个假的测试我所有的测试通过。

i am using mock for my test in Rbotium. My first test fail and another test pass. i think it is because of that the mock is not ready for the test. but when i add a fake test all of my tests passes.

我的假测试:

public void test_ShowA_HomeActionbarTabClicked() {
        assertEquals("","");
    }

所有测试:

 public void test_ShowCategoryGamesListFragment_CategoryListActionbarTabClicked() {
        //click on Categories action bar tab

        getSolo().clickOnText(getSolo().getCurrentActivity().getString(R.string.title_section1));
        getSolo().clickOnText(getSolo().getCurrentActivity().getString(R.string.games_title));
       Assert.assertTrue(getSolo().searchText("GAME_CATEGORY TITLE"));



    }
    public void test_ShowCategoryAppsListFragment_CategoryListActionbarTabClicked() {
        //click on Categories action bar tab
        getSolo().clickOnText(getSolo().getCurrentActivity().getString(R.string.title_section1));
        getSolo().clickOnText(getSolo().getCurrentActivity().getString(R.string.apps_title));
        Assert.assertTrue(getSolo().searchText("APP_CATEGORY TITLE"));

    }

    public void test_ShowCategoryAppsListRowCountFragment_CategoryListActionbarTabClicked() {
        //click on Categories action bar tab
        getSolo().clickOnText(getSolo().getCurrentActivity().getString(R.string.title_section1));
        getSolo().clickOnText(getSolo().getCurrentActivity().getString(R.string.apps_title));
        ListView listView = getSolo().getView(ListView.class, 0);
        assertEquals(5, listView.getCount());

    }
    public void test_ShowCategoryGamesListRowCountFragment_CategoryListActionbarTabClicked() {

        //click on Categories action bar tab
        getSolo().clickOnText(getSolo().getCurrentActivity().getString(R.string.title_section1));
        getSolo().clickOnText(getSolo().getCurrentActivity().getString(R.string.games_title));
        ListView listView = getSolo().getView(ListView.class, 0);
        assertEquals(5, listView.getCount());

    }

我的模拟:

protected void setUp() throws Exception {
        super.setUp();
        getMockRestServer().addMockCallResponseHandler(RestCommandFactoryImpl.getInstance().getBaseUrl() + "/category"
                , "[ {\"id\":\"1\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE1\"}," +
                "{\"id\":\"2\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE2\"} , " +
                "{\"id\":\"3\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE3\"} ," +
                "{\"id\":\"4\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE4\"} ," +
                "{\"id\":\"5\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE5\"}," +
                "{\"id\":\"6\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE1\"}, " +
                "{\"id\":\"7\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE2\"}," +
                "{\"id\":\"8\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE3\"}," +
                "{\"id\":\"9\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE4\"}," +
                "{\"id\":\"10\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE5\"}," +
                "{\"id\":\"11\", \"parentId\":null,\"iconURL\":\"MyIcon\",\"title\":\"بازی ها\"}," +
                "{\"id\":\"12\", \"parentId\":null,\"iconURL\":\"MyIcon\",\"title\":\"برنامه ها\"}]");

        getMockRestServer().addRestCommandToMock("category", new GetAllCategoriesRestCommand());
        getMockRestServer().start();


    }

添加假的测试,只有 test_ShowCategoryGamesListFragment_CategoryListActionbarTabClicked前()未通过和其他测试通过,但增加假试验后所有的人通过。
请大家帮我

before adding fake test, only test_ShowCategoryGamesListFragment_CategoryListActionbarTabClicked() not pass and other test pass but after adding fake test all of them pass. please help me

推荐答案

我改变设置ñ它的工作原理。

i changed setup n it works.

@覆盖
    保护无效设置()抛出异常{

@Override protected void setUp() throws Exception {

    MockRestServer mockRestServer = new MockRestServer();
    mockRestServer.addMockCallResponseHandler(RestCommandFactoryImpl.getInstance().getBaseUrl() + "/category"
            , "[ {\"id\":\"1\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE1\"}," +
            "{\"id\":\"2\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE2\"} , " +
            "{\"id\":\"3\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE3\"} ," +
            "{\"id\":\"4\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE4\"} ," +
            "{\"id\":\"5\", \"parentId\":\"12\",\"iconURL\":\"MyIcon\",\"title\":\"APP_CATEGORY TITLE5\"}," +
            "{\"id\":\"6\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE1\"}, " +
            "{\"id\":\"7\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE2\"}," +
            "{\"id\":\"8\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE3\"}," +
            "{\"id\":\"9\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE4\"}," +
            "{\"id\":\"10\", \"parentId\":\"11\",\"iconURL\":\"MyIcon\",\"title\":\"GAME_CATEGORY TITLE5\"}," +
            "{\"id\":\"11\", \"parentId\":null,\"iconURL\":\"MyIcon\",\"title\":\"بازی ها\"}," +
            "{\"id\":\"12\", \"parentId\":null,\"iconURL\":\"MyIcon\",\"title\":\"برنامه ها\"}]");

    mockRestServer.addRestCommandToMock("category", new GetAllCategoriesRestCommand());
    mockRestServer.start();
    super.setUp();

}

这篇关于在robotium模拟测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆