我正在用GHUnit编写单元测试。我想检查是否在另一个应用程序的Library目录中的Caches目录中生成了一个文件。这是可行的,还是应用程序无法访问彼此的库目录?如果是这样,是否有任何可能的解决方法来为此创建单元测试?我是否可以将生成的文件存储在不同的目录中,例如Documents,否则会无济于事?
答案 0 :(得分:2)
在设备上根本不可能。在模拟器中,如果您知道用于命名安装应用程序的目录的随机UUID,理论上可以执行此操作。
但我会极力阻止你甚至尝试。相反,要使您想要测试的代码足以使其自身具有可测试性。验证另一个应用程序是否运行的单元测试几乎与单元测试一样无用,它验证您使用正确的参数调用API。
答案 1 :(得分:1)
应用只能访问其沙箱中自己的文件夹。您的单元测试应用程序是否与您要验证缓存内容的应用程序分开?
答案 2 :(得分:1)
不,您需要做的是使用网址前缀,并让方法在安装时执行该应用程序注册所需的任何操作。
答案 3 :(得分:1)
我不了解您尝试进行单元测试的上下文,所以也许我的答案是错误的,但我得到的是您想要访问其他应用程序,因为GHUnit构建为一个单独的应用程序。
没有理由这样做 - 而不是打破沙箱问题,让我们解决整个问题。
为什么不从测试目标应用程序首先运行您尝试测试的任何缓存创建代码,然后检查捆绑包的Libary / Cache目录?
这就应该是它。