我刚刚开始 OCUnitTesting。我不认为我的代码是错误的,但问题可能是我在某个地方犯了一个小错误。我有一个函数
- (BOOL)tooManyCouplesForER:(NSMutableArray *)startfield
{
NSLog(@"Size %i", [startfield count]);
if ([startfield count] > 7) {
return true;
} else{
return false;
}
}
在我的 ViewController 里面StartfieldTableViewController
。
我将 UnitTests 包含在我的项目中,并且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,这是真的。
感谢您的帮助。