XCTestCase
根据关于的默认模板中的评论setUp
:
Put setup code here; it will be run once, before the first test case.
但是,在 中XCTestCase.h
,上面的评论有setUp
不同的说法:
Setup method called before the invocation of each test method in the class.
为了确认实际行为,我放了一个NSLog
insidesetUp
来计算它被调用的次数:
static int count = 0;
- (void)setUp
{
[super setUp];
count++;
NSLog(@"Call Count = %d", count);
}
这导致该setUp
方法在每个测试方法之前被调用(确认注释XCTestCase.h
)。
我想使用该setUp
方法创建一次测试/模拟对象(例如设置核心数据测试堆栈)。一遍又一遍地创建这些将是处理器密集型的,并且可能非常慢。
所以,
1)setUp
实际打算用于什么?开发人员肯定不会一遍又一遍地在其中创建对象吗?
2)我怎样才能在一个中只创建一次XCTestCase
这些对象?