gpt4 book ai didi

unit-testing - iPhone - 为逻辑单元测试检索资源

转载 作者:行者123 更新时间:2023-12-03 09:37:45 27 4
gpt4 key购买 nike

我一直在关注 Apple 关于为 iPhone 编写单元测试的文档,并且开箱即用,该例程似乎不起作用。我不确定我是否了解单元测试将在哪里获得对应用程序委托(delegate)的引用。

我的依赖项如下:
My_Program_target -> UnitTesting_target -> UnitTests_bundle

以下代码片段是断言失败的地方。我对 CPPUNIT 非常熟悉,但我无法理解它是如何跨越的。

- (void) testAppDelegate {

id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
STAssertNotNil(yourApplicationDelegate, @"UIAppliation failed to find the AppDelegate");

}

此外:

我已经决定在我的方法中进行逻辑测试。我正在尝试读取一个 XML 文件,但我没有运气解决该捆绑包,这将为我提供访问文件的路径。我尝试粘贴 allBundles 的路径输出,但该路径似乎也不起作用。下面是我在测试中执行的内容(你可以看到我用来输出包路径的调试语句):
NSLog(@"BundlePaths: %@", [NSBundle allBundles]);
NSString * path = [[NSBundle bundleWithPath:@"$(TARGET_BUILD_DIR)"] pathForResource:@"SimpleTestList" ofType:@"plist"];
STAssertNotNil(path, @"Bundle Location couldn't find the file specified");

本质上,路径上的断言不成功,但我不确定要为路径或目录放置什么来引用我告诉我复制包资源的 unitTest 包。调用 [NSBundle mainBundle] 也不起作用。

最佳答案

好的,所以我想通了。为了在单元测试中打开文件,您需要指定要打开的文件:

NSString * filePath = [[NSBundle bundleForClass:[self class] ] pathForResource:@"SimpleTestList" ofType:@"plist"];

如果您将它包含在作为单元测试包的一部分编译的类中,则该类将在单元测试包中查找文件 SimpleTestList.plist。

对于单元测试,只需确保设置“复制包资源”以将 plist 包含在单元测试包中。

关于unit-testing - iPhone - 为逻辑单元测试检索资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1092396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com