在我的应用程序中,我在一个活动上有多个片段。现在我想编写一个测试用例来检查这些片段是否正确加载。首先,我传递了一些触摸事件来滚动到一个特定的片段,然后我试图获取这个片段的名称。以下是我的测试用例代码: -
public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity>
{
MainActivity mMainActivity;
ActionBar tactionbar;
Fragment tFragment;
public static final int TEST_POSITION = 2;
private static String mSelection ;
private int mPos = 0;
public MainActivityTest()
{
super(MainActivity.class);
}
protected void setUp() throws Exception
{
super.setUp();
mMainActivity = (MainActivity) getActivity();
tactionbar = mfoneclay.getActionBar();
}
public void testPreConditions()
{
assertNotNull(mMainActivity);
assertNotNull(tactionbar);
}
public void testFragmentUI()
{
mMainActivity.runOnUiThread(
new Runnable(){
public void run()
{
mMainActivity.getCurrentFocus();
}
});
for (int i = 1; i <= TEST_POSITION; i++)
{
this.sendKeys(KeyEvent.KEYCODE_DPAD_RIGHT);
mPos = tactionbar.getSelectedNavigationIndex();
}
this.sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);
mSelection = (String)tactionbar.getTabAt(mPos).getText();
String resultText = "Exclusive";
assertEquals(resultText,mSelection);
}
}
在这里,&#34;独家&#34;是我通过触摸事件导航到的标签之一的名称。现在,在运行测试用例时,我可以看到它正确导航到&#34; Exclusive&#34;片段,但结果显示msection变量的值作为活动的名称而不是片段名称。我做错了什么?
答案 0 :(得分:0)
得到了解决方案。使用错误的组件来获取片段对我来说是如此愚蠢。事实证明,我必须使用&#34; ViewPager&#34;获取片段。