Sco*_*len 17 iphone xcode unit-testing
我正在尝试对一些实例化字体的iphone代码进行单元测试.我已将其缩小到以下崩溃单元测试:
#import "test.h"
#import <UIKit/UIKit.h>
@implementation test
- (void)testFonts {
[UIFont systemFontOfSize:12];
}
@end
Run Code Online (Sandbox Code Playgroud)
这与错误崩溃:
Test Case '-[test testFonts]' started.
/Developer/Tools/RunPlatformUnitTests.include: line 415: 79768 Trace/BPT trap "${THIN_TEST_RIG}" "${OTHER_TEST_FLAGS}" "${TEST_BUNDLE_PATH}"
/Developer/Tools/RunPlatformUnitTests.include:451: error: Test rig '/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/Developer/usr/bin/otest' exited abnormally with code 133 (it may have crashed).
Run Code Online (Sandbox Code Playgroud)
似乎有一些设置我没有在我的单元测试目标中做这个工作.你如何对实例化字体的东西进行单元测试?
beO*_*eOn 19
我的一个朋友最近碰到了这个,我挖出了我成功设置的最后一个项目.诀窍是在应用程序测试中运行任何涉及UIFont的测试,而不是单元测试.在设置应用程序测试目标时,需要确保以下几点:
$(BUILT_PRODUCTS_DIR)/Your Product Name.app/Your Product Name
Again.请注意,它是.../Product.app/Product- 也就是说,路径的最后一段没有.app.如果您想要查看您所指的文件,请找到您的构建产品,右键单击,选择View Package Contents,然后找到可执行文件.$(BUNDLE_LOADER).十分简单.-framework SenTestingKit....希望这足以让你们全力以赴.在一个地方并没有完全记录下来,弄清楚如何让两种测试运行花费的时间和痛苦都比我想承认的要多.
奇怪的是,苹果公司似乎已经就此问题撤下了自己的doco.我想知道是否会有另一个变化......
如果您对上述内容有任何补充,请打我.它不是设置应用程序测试的完整指南,但以上是我遇到的无证绊脚石.FMI,我强烈推荐这篇CocoaWithLove文章.
它没有说得很好,但Apple的测试套件将单元测试分为两个不同的类别:
逻辑测试
这些测试会在洁净室环境中检查代码的正确功能.
应用测试
这些测试检查正在运行的应用程序中的代码功能.
似乎有很多与UI相关的代码无法在"逻辑测试"案例中运行.有关逻辑测试与应用程序测试的更多信息,请参见此处