【发布时间】:2013-08-30 18:04:22
【问题描述】:
运行我的 KIF 目标时,无论我如何编写 KIFTestScenario 或 KIFTestStep,它们都会返回以下错误:
12:20:58.434 - Test that a user can successfully dismiss the welcome screens
12:24:53.208 - FAIL (209.11s): Tap screen at point "{10, 10}"
12:24:53.209 - FAILING ERROR: Error Domain=KIFTest Code=0 "Step threw exception:
*** -[__NSArrayM insertObject:atIndex:]:
object cannot be nil" UserInfo=0x842c1e0 {NSLocalizedDescription=Step threw exception: *** -[__NSArrayM insertObject:atIndex:]:
object cannot be nil}
12:24:53.210 - END OF SCENARIO (duration 223.62s)
按照建议,我已经包含了我正在使用的代码:
TestController.m
#import "TestController.h"
#import "KIFTestScenario+Additions.h"
@implementation TestController
- (void)initializeScenarios;
{
[self addScenario:[KIFTestScenario scenarioToLogIn]];
}
@end
KIFTestScenario+Additions.m
#import "KIFTestScenario+Additions.h"
@implementation KIFTestScenario (Additions)
+ (id)scenarioToLogIn
{
KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription:@"Test that a user can successfully dismiss the welcome screens"];
KIFTestStep *step = [KIFTestStep stepToTapScreenAtPoint:CGPointMake(10.0f, 10.0f)];
[scenario addStep:step];
return scenario;
}
@end
我已经通过调试器,我添加到场景中的 KIFTestStep 不是 nil 并且是有效的 KIFTestStep。
以前有没有人遇到过这个问题或有任何修复的想法?
【问题讨论】:
-
你能出示你的 kif 代码吗?
-
你能从日志中包含一些额外的上下文吗?导致错误的行是什么?此错误是由捕获的异常触发的。你能添加一个异常断点并显示异常是在哪里引发的吗?它可能已在您的代码或 KIF 中抛出。
-
Brian Nickel:我在记录的错误中添加了一些上下文。至于异常,它被抛出 KIFTestStep.m(第 852 行)。在围绕这个执行区域进行调试时,似乎一切都井井有条。
-
第 852 行是它被捕获的地方,而不是它被抛出的地方。引发异常时将触发异常断点。
标签: ios objective-c kif-framework