小编use*_*764的帖子

单元测试和TDD,OCUnit与Google Tool Box

我正在尝试在OCUnit和Google Tool Box之间做出选择,你有任何偏好,会推荐其中一个,为什么?我很想知道你对2中任何一个的经历.

我对他们两个主要的问题是在测试方法中的崩溃管理(例如:BAD ACCESS)他们都没有能够告诉我在哪个类中发生了崩溃!

使用Google Tool Box,我可以看到正在运行哪个测试套件而不是测试用例(当您的测试套件有50个测试用例时,您应该怎么做?)

使用OCUnit,我至少可以看到测试套件导致崩溃的测试用例.

以下是我与GTB的消息:

Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.000) seconds

Test Suite 'LogicTests' started at 2009-12-14 18:03:15 +0100

 /Users/admin/Documents/Tests/GTBTest/RunIPhoneUnitTest.sh: line 122:   688    Segmentation fault      "$TARGET_BUILD_DIR/$EXECUTABLE_PATH" -RegisterForSystemEvents

 Command /bin/sh failed with exit code 139
Run Code Online (Sandbox Code Playgroud)

我可以看到,正是测试套件'LogicTests'引发了崩溃,但就是这样.

使用OCunit,这里是同一错误的消息:

Test Suite 'LogicTests' started at 2009-12-14 17:51:26 +0100
Test Case '-[LogicTests testFail]' started.
/Developer/Tools/RunPlatformUnitTests.include: line 415:   536 Segmentation fault      "${THIN_TEST_RIG}" "${OTHER_TEST_FLAGS}" "${TEST_BUNDLE_PATH}"
Run Code Online (Sandbox Code Playgroud)

至少对于OCUnit,我可以跟踪正在运行的测试用例并最终对其进行调试(但是这可能需要很长时间才能没有任何类和行号信息...)

你是如何处理这些问题的?

提前致谢.

PS:这里是如何重现问题,这很简单:

只需创建一个类,该方法在调用时会崩溃(在您执行TDD时会一直发生):

- (void) crashMethod {
 NSMutableArray *crashArray; …
Run Code Online (Sandbox Code Playgroud)

iphone tdd unit-testing ocunit

10
推荐指数
1
解决办法
1739
查看次数

如何在变换后获得UIView帧位置?

我希望在对其应用变换旋转后获取UIView的当前位置.我怎样才能做到这一点 ?

在UIView文档中,我发现了有关transform属性的内容:

"如果此属性不是标识转换,则frame属性的值是未定义的,因此应该被忽略."

我尝试使用中心和边界,但结果被翻译(即使没有对rotateView应用变换)

newView.center = rotatedView.center;
newView.bounds = rotatedView.bounds;
newView.transform = rotatedView.transform;
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

提前谢谢,文森特.

transform frame uiview

9
推荐指数
1
解决办法
3495
查看次数

dyld:库未加载 - 当应用程序从命令行运行时

当我从命令行运行iPhone应用程序时,在向项目添加框架时遇到一些困难.我的最终目标是从自动构建过程中运行应用程序测试.

当我从xCode运行我的应用程序时:

我向目标添加了一个"复制文件"构建阶段,一切都很顺利.副本设置为$(BUILT_PRODUCTS_DIR)为"绝对路径"

当我从终端运行我的应用程序(使用iphonesim项目)时,我收到此错误:

 dyld: Library not loaded: @rpath/OCMock.framework/Versions/A/OCMock

 UIKitApplication:indemnisation[0xb894][26380]     Referenced from: /Users/Admin/Library/Application Support/iPhone Simulator/User/Applications/CD5729B5-A674-49B2-91F6-AD398094B6F8/indemINT.app/indemINT
Run Code Online (Sandbox Code Playgroud)

我不明白的是,复制构建阶段只是将框架文件复制到与应用程序相同的目录中.

当我从命令行运行应用程序时,框架文件已经在同一目录中.有谁知道为什么它不起作用?

我还尝试在以下目录中添加OCMock.framework(没有成功):

 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library

 /Library/Frameworks

 /Users/Admin/Library/Application Support/iPhone Simulator/User/Applications/CD5729B5-A674-49B2-91F6-AD398094B6F8
Run Code Online (Sandbox Code Playgroud)

先谢谢,文森特.

iphone dyld

6
推荐指数
2
解决办法
3480
查看次数

仅显示纯色

我正在尝试使用CAGradientLayers显示渐变.
我只是设置了两种颜色,我希望在它们之间看到一个渐变,不幸的是只显示第一个普通颜色而没有任何渐变.

这是我的代码:

- (void)viewDidLoad {
[super viewDidLoad];

CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = CGRectMake(0.0, 0.0, 480.0, 320.0);
gradientLayer.colors = [NSArray arrayWithObjects:
                        (id)[UIColor colorWithRed:0.0 green:0.0 blue:1.0 alpha:1.0].CGColor,
                        (id)[UIColor colorWithRed:0.85 green:0.85 blue:0.85 alpha:1.0].CGColor,
                        nil];
gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.endPoint = CGPointMake(480, 320);

[self.view.layer addSublayer:gradientLayer];
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

iphone gradient

2
推荐指数
1
解决办法
2170
查看次数

UIImagePicker相机未加载(白色屏幕)

根据iPhone编程指南中的"使用相机拍照"一章,使用UIImagePicker拍摄照片时遇到了麻烦.

无论我尝试什么,我得到的是灰色/白色屏幕.

这是我的代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.allowsEditing = NO;
    [self presentModalViewController:imagePicker animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

我试图从viewDidLoad,viewWillAppear或awakeFromNib调用imagePicker,没有任何变化.

我的viewController实现了UINavigationControllerDelegate和UIImagePickerControllerDelegate.

我在第一代iPhone上的OS3.1上运行它.

任何帮助将不胜感激 !谢谢,文森特.

iphone uiimagepickercontroller

1
推荐指数
1
解决办法
1141
查看次数