내 코드는 C 라이브러리 함수 호출 :사용이
@implementation Store
...
-(void) doWork {
// this is a C function from a library
int data = getData();
...
}
end
내가, 내가 내 테스트의 C 함수 getData()
을 조롱하려는 위의 기능을 시험 단위 걸, 여기 내 테스트입니다 경우 : Use of undeclared identifier 'mData'
내부 조롱 getData()
기능 :
@interface StoreTests : XCTestCase {
int mData;
Store *store;
}
@end
@implementation StoreTests
-(void) setUp {
[super setUp];
mData = 0;
store = [[Store alloc] init];
}
-(void) testDoWork {
// this call will use the mocked getData(), no problem here.
[store doWork];
}
// mocked getData()
int getData() {
mData = 10; // Use of undeclared identifier 'mData', why?
return mData;
}
...
@end
이 왜 컴파일러 오류가?
int mData;
@interface StoreTests : XCTestCase {
Store *store;
}
@end
...
'- (INT) GetData의() {', 나는 기능 body'를 기대'이상한 컴파일러 오류가 발생, 내 현재 코드 - (INT) GetData의은() {' – ozgur
는 아니, 난에'를 변경하는 경우 조롱 된 함수는 프로덕션 코드에 의해 호출됩니다. mocked 함수 내에서 mData에 값을 할당 할 때만 문제가 발생합니다. 다시 C 함수입니다. –
나는 당신이 의미하는 것을 이해하고, 시도하고, 나는 위의 코멘트를 썼다. –