在robotium模拟测试 [英] testing with mock in 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屋!