我刚启动OCUnitTesting。我不认为我的代码是错误的,但问题是,可能是一个微小的失误我的地方,一路上做。我有一个函数STAssertTrue没有像我期望的那样返回
- (BOOL)tooManyCouplesForER:(NSMutableArray *)startfield
{
NSLog(@"Size %i", [startfield count]);
if ([startfield count] > 7) {
return true;
} else{
return false;
}
}
我的ViewController StartfieldTableViewController
内。
我包括单元测试到我的项目,并在AppTests.h
我做
#import "StartfieldTableViewController.h"
和
@property (strong, nonatomic) StartfieldTableViewController *start;
在AppTests.m
我写了一个测试
- (void)testTooManyCouplesForER
{
NSMutableArray *testField = [[NSMutableArray alloc] initWithObjects:@"1", @"1", @"1", @"1", @"1", @"1", @"1", @"1", @"1", @"1", nil];
BOOL sum = [self.start tooManyCouplesForER:testField];
NSLog(@"BOOL = %@\n", (sum ? @"YES" : @"NO"));
STAssertTrue(sum, @"This should have returned true, but it returned false");
}
,所以我期望测试通过,因为我给了它10个元素的数组。它失败。所以我做了NSLog,在测试中它确实是NO,但是在运行时测试函数,使用相同的testField-array,这是事实。
感谢您的帮助。
您何时/何时初始化启动属性? – 2013-03-22 15:42:04