走到这步,我们已经具备了。
" 标准的Android开源工程版权。
" 包定义。这次测试是在com.andriod.cts.appaccessdata包中。
" 一些导入。
" 定义了AccessPrivateDataTest类,这个类扩展了AndriodTestCase,因为这个AndriodTestCase类不需要系统架构。在这个特殊的例子中,我们还可以直接用TestCase,因为在这个用例中,我们并没有访问内存数据,如果要访问内存数据,就需要用AndriodTestCase,TestCase做不到这点。
" 定义了常量APP_WITH_DATA_PKG,这表示程序的包中含有一个私有常量,我们后面会访问这个常量。
框7.2
/** * Name of private file to access. This must match the name * of the file created by * {@link APP_WITH_DATA_PKG}. */ private static final String PRIVATE_FILE_NAME = "private_file.txt"; /** * Tests that another app's private file cannot be accessed * @throws IOException */ public void testAccessPrivateData() throws IOException { try { // construct the absolute file path to the app's private file String privateFilePath = String.format( "/data/data/%s/%s", APP_WITH_DATA_PKG, PRIVATE_FILE_NAME); FileInputStream inputStream = new FileInputStream(privateFilePath); inputStream.read(); inputStream.close(); fail("Was able to access another app's private data"); } catch (FileNotFoundException e) { // expected } catch (SecurityException e) { // also valid } } } |
在框7.2这段代码中,我们增加了以下内容。
" 定义了PRIVATE_FILE_NAME,这个将会设置我们需要访问的文件名地址。
" 定义了测试函数testAccessPrivateData,这个函数将会测试具体的功能。testAccessPrivateData()函数,是用来测试能否访问其他包中的私有数据的,如果可以访问,用例将会失败。为了验证效果,预期是能够抓到异常,如果没有捕获到异常,就会直接fail()并打印出客户设置好的错误信息。
本文选自《Android应用测试指南》第五章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。