我正在浏览Xcode 4.4的发行说明并注意到这一点:
LLVM 4.0编译器
Xcode现在包含Apple LLVM Compiler 4.0版,包括以下newObjective-C语言特性:[...]
- Objective-C文字:为NSArray,NSDictionary和NSNumber创建文字,与NSString的文字相同
我对这个功能很感兴趣.这并不完全清楚,我是多么的文字NSString
工作,以及如何一个可以在使用它们NSArray
,NSDictionary
和NSNumber
.
有什么细节?
有没有办法在PhantomJS中触发PDF导出功能而不指定扩展名为.pdf的输出文件?我们想stdout
用来输出PDF.
我有一个问题,让测试框架Kiwi与通过CocoaPods添加的框架一起工作.我已经加载了AFNetworking和Lumberjack,两者都导致测试失败.如果我的项目中构建到测试目标中的任何源文件都包含来自CocoaPods的文件,则测试失败.这是我收到的消息:
2012-10-15 13:10:44.386 otest [47294:7e03]无法加载/Users/[username]/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphonesimulator/KiwiUnitTest.octest中的测试包因为发生了链接错误.dyld可能找不到测试包链接的框架框架或库,可能是因为框架或库在链接时具有不正确的安装路径.
我遵循了CocoaPods和Kiwi的所有说明.
例如,我有一个APIClient类.它包括AFHTTPClient.h.如果我在没有将APIClient.m构建到测试目标中的情况下运行测试,则测试构建并运行正常.如果我确实将源包含在其中它表示一切都成功,但是没有运行测试,并且上面的错误消息在我的日志中.
谢谢,詹姆斯
H伙计们,我多年来一直试图找到一些关于如何使用Kiwi测试来异步测试委托方法的好例子.
我有一个管理器类,它定义了测试协议,并在委托中返回了pass和fail方法.任何人都可以提供如何执行此操作的示例代码吗?我可以让测试类本身实现调用管理器上的方法吗?
多谢你们
问题的简短版本:
以下Kiwi/iOS模拟期望有什么问题?
[[mockDelegate should] receive:@selector(connectionDidSucceedWithText:andStatus:) withArguments:[testString1 stringByAppendingString:testString2],theValue(value),nil];
Run Code Online (Sandbox Code Playgroud)
长版问题:
我正在尝试在Kiwi中编写一个测试,用于处理NSConnection的简单类.为了测试该类处理来自NSConnection的回调,我向它发送NSConnection通常所做的委托方法.我在类中有一个委托,它将数据发送回使用我的类的人.为了测试我的类,我必须注入一个模拟的委托,然后检查我所需的方法是否被调用.就那么简单 :)
我的Kiwi测试代码是:
//Some ivars declared elsewhere:
testString1 = @"asd323/4 d14";
testString2 = @"as98 /2y9h3fdd14";
testData1 = [testString1 dataUsingEncoding:NSUTF8StringEncoding];
testData2 = [testString2 dataUsingEncoding:NSUTF8StringEncoding];
mockURLRespons = [NSHTTPURLResponse mock];
int value = 11111;
id mockDelegate = [KWMock mockForProtocol:@protocol(SharepointConnectionDelegate)];
communicator = [[SharepointCommunicator alloc] init];
it (@"should send recieve data back to delegate2", ^{
[communicator setDelegate:mockDelegate];
[mockURLRespons stub:@selector(statusCode) andReturn:theValue(value)];
[(id)communicator connection:niceMockConnector didReceiveResponse:mockURLRespons];
[(id)communicator connection:niceMockConnector didReceiveData:testData1];
[(id)communicator connection:niceMockConnector didReceiveData:testData2];
[(id)communicator connectionDidFinishLoading:niceMockConnector];
[[mockDelegate should] receive:@selector(connectionDidSucceedWithText:andStatus:) withArguments:[testString1 stringByAppendingString:testString2],theValue(value),nil];
}); …
Run Code Online (Sandbox Code Playgroud) 假设我有一个带有任意数量参数的函数(最后一个是回调):
xxx.create ('arg1', 'arg2', ..., 'arg10', callback) {
...
}
Run Code Online (Sandbox Code Playgroud)
但它很难看.我希望能够提取前几个参数并执行以下操作:
var args = ['arg1', 'arg2', ..., 'arg10']
xxx.create (args.explode(), callback) {
...
}
Run Code Online (Sandbox Code Playgroud)
当然我可以写一个包装xxx.create()
,但我希望它是干净的.
谢谢.
kiwi ×3
objective-c ×3
ios ×2
xcode ×2
afnetworking ×1
arguments ×1
arrays ×1
cocoapods ×1
ios6 ×1
javascript ×1
mocking ×1
node.js ×1
pdf ×1
phantomjs ×1
pipe ×1
testing ×1
unit-testing ×1