Android测试教程(15):AndroidTestCase示例
2012-05-26 14:55
369 查看
AndroidTestCase 为一Android平台下通用的测试类,它支持所有JUnit的Assert方法和标准的setUp 和tearDown 方法。如果你的测试需要访问应用的资源或者测试方法依赖于Context,可以使用AndroidTestCase 作为基类。
它的类继承关系如下图所示:
Focus2AndroidTest
测试也是Android ApiDemos示例解析(116):Views->Focus->2. Horizontal
但测试的侧重点不一样,Focus2AndroidTest 测试的内容无需启动Activity,而是测试R.layout.focus_2 的布局(资源)中Focus 的顺序是否符合预先设计(可以看作是Activity的一些静态性能),可以通过FocusFinder的方法来测试Focus的一些静态属性,它的代码如下:
testGoingRightFromLeftButtonJumpsOverCenterToRight 和 testGoingLeftFromRightButtonGoesToCenter
通过mFocusFinder 的 findNextFocus 来测试 mLeftButton,mRightButton 的下个可以获取焦点的控件是否符合事先的设计。
它的类继承关系如下图所示:
Focus2AndroidTest
测试也是Android ApiDemos示例解析(116):Views->Focus->2. Horizontal
但测试的侧重点不一样,Focus2AndroidTest 测试的内容无需启动Activity,而是测试R.layout.focus_2 的布局(资源)中Focus 的顺序是否符合预先设计(可以看作是Activity的一些静态性能),可以通过FocusFinder的方法来测试Focus的一些静态属性,它的代码如下:
public class Focus2AndroidTest extends AndroidTestCase { private FocusFinder mFocusFinder; private ViewGroup mRoot; private Button mLeftButton; private Button mCenterButton; private Button mRightButton; @Override protected void setUp() throws Exception { super.setUp(); mFocusFinder = FocusFinder.getInstance(); // inflate the layout final Context context = getContext(); final LayoutInflater inflater = LayoutInflater.from(context); mRoot = (ViewGroup) inflater.inflate(R.layout.focus_2, null); // manually measure it, and lay it out mRoot.measure(500, 500); mRoot.layout(0, 0, 500, 500); mLeftButton = (Button) mRoot.findViewById(R.id.leftButton); mCenterButton = (Button) mRoot.findViewById(R.id.centerButton); mRightButton = (Button) mRoot.findViewById(R.id.rightButton); } @SmallTest public void testPreconditions() { assertNotNull(mLeftButton); assertTrue("center button should be right of left button", mLeftButton.getRight() < mCenterButton.getLeft()); assertTrue("right button should be right of center button", mCenterButton.getRight() < mRightButton.getLeft()); } @SmallTest public void testGoingRightFromLeftButtonJumpsOverCenterToRight() { assertEquals("right should be next focus from left", mRightButton, mFocusFinder.findNextFocus(mRoot, mLeftButton, View.FOCUS_RIGHT)); } @SmallTest public void testGoingLeftFromRightButtonGoesToCenter() { assertEquals("center should be next focus from right", mCenterButton, mFocusFinder.findNextFocus(mRoot, mRightButton, View.FOCUS_LEFT)); } }
testGoingRightFromLeftButtonJumpsOverCenterToRight 和 testGoingLeftFromRightButtonGoesToCenter
通过mFocusFinder 的 findNextFocus 来测试 mLeftButton,mRightButton 的下个可以获取焦点的控件是否符合事先的设计。
相关文章推荐
- Android测试教程(12):ServiceTestCase示例
- Android测试教程(13):TestCase示例
- svn教程----示例二:测试人员拥有读权限
- Android自动化压力测试图解教程——Monkey工具
- Android测试教程:Monkey 命令行工具
- 基于Android设备的Kali Linux渗透测试教程第1章渗透测试
- Android 中的单元测试(使用ServiceTestCase 进行 Service测试 例子)
- android开发教程之实现滑动关闭fragment示例
- android 测试教程(转)
- 史上最全Android开发资料:资源、UI、函数库、测试、构建全套教程
- 史上最全Android开发资料:资源、UI、函数库、测试、构建全套教程
- Android 全自动js脚本测试 Appium教程——appium环境搭建(一)
- BREW开发教程(15):其它及示例下载
- Android测试教程9--聊聊配置测试环境的一些问题
- Android入门教程之ListView的应用示例
- Android测试教程1--跑起来
- Android AIDL 教程 (一)—— 简单的示例
- Android测试教程(1):概述
- Android OpenGL ES 开发教程(27):材质及光照示例