0

我正在用 GHUnit 编写单元测试。我想检查是否正在另一个应用程序的库目录中的缓存目录中生成文件。这是可行的,还是阻止应用程序访问彼此的库目录?如果是这样,是否有任何可能的解决方法来为此创建单元测试?我可以将生成的文件存储在不同的目录中,例如 Documents,还是没有帮助?

4

4 回答 4

2

在设备上根本不可能。在模拟器中,如果您知道命名应用程序安装目录的随机 UUID,理论上您可以这样做。

但我强烈建议您不要尝试。相反,要让你打算测试的代码具有足够的可测试性。验证另一个应用程序是否正常运行的单元测试几乎与验证您使用正确参数调用 API 的单元测试一样无用。

于 2011-05-10T18:12:08.723 回答
1

我不了解您尝试进行单元测试的上下文,所以也许我的回答是错误的,但我得到的是您想要访问您的其他应用程序,因为 GHUnit 是作为单独的应用程序构建的。

应该没有理由这样做 - 不是解决沙盒问题,而是让我们解决整个问题。

为什么不首先从测试目标应用程序运行您尝试测试的任何缓存创建代码,然后检查捆绑包的 Libary/Cache 目录?

这就是它的全部内容。

于 2011-05-10T19:24:23.447 回答
1

应用程序只能访问其沙箱中自己的文件夹。您的单元测试应用程序是否与您要验证其缓存内容的应用程序分开?

于 2011-05-10T17:41:43.830 回答
1

不,您需要做的是使用 url 前缀并拥有方法来执行该应用程序在安装时注册的任何您需要完成的事情。

于 2011-05-10T17:46:55.623 回答