扩展androidtestcase时缺少文件,testcase工作正常

huwehgph  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(163)

我有一个android测试项目,它将几个文件写入SD卡,层次结构如下:

appresults
 |
 +--- gen
 |
 +--- results

如果我扩展test.java文件 AndroidTestCase ,我的测试将正确运行,但当我运行时 adb pull ,一些文件将丢失,即结果目录中的任何内容。奇怪的是,gen目录中的文件将陆续出现。也就是说我会的 adb pull 得到4,立即再次运行,得到8,依此类推,直到它们都出现。
如果我扩展test.java文件 TestCase 然而, adb pull 会找到所有的文件没问题。
我越界了 tearDown() 无所事事思考 super.tearDown() 可能是因为 AndroidTestCase 但这并没有帮助。
我在测试方法的最后添加了日志,查询我丢失的文件的名称、大小和上次修改的文件,它返回了适当的值,据我所知,直到测试运行的最后一秒,该文件仍然存在。
我也注意到 AndroidTestCase 是否有额外的 testAndroidTestCaseSetupProperly 但据我所见,所有这些都是为了确保上下文不为空:

public void  [More ...] testAndroidTestCaseSetupProperly() {
     assertNotNull("Context is null. setContext should be called before tests are run",
             mContext);
 }

所以我想我的问题是,是吗 AndroidTestCaseAndroid 4.0.3. 帮你清理文件?如果是这样,为什么它要清理一些文件而不是其他文件?
对于每个请求,下面是显示我正在执行的操作的代码:

File myPath = new File("some path");
FileOutputStream fos = new FileOutputStream(myPath);
OutputStreamWriter out = new OutputStreamWriter(fos, "UTF-8");
out.append("abcde");
out.close();
if (myPath.exists()) {
    Log.w(TAG, "Name: " + myPath.getAbsoluteFilePath());
    Log.w(TAG, "Size: " + myPath.length());
}

代码将返回两个警告,如: Name: some path 以及 Size: 5 如果显示a)文件创建位置正确,b)大小正确,则写入成功。但我的测试一结束,砰,不 adb pull 该目录上的输出(结果(一)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题