私のコードは、C ライブラリ関数を呼び出します。
@implementation Store
...
-(void) doWork {
// this is a C function from a library
int data = getData();
...
}
end
上記の関数の単体テストを行っています。テストで C 関数をモックしたいのですが、これ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
なぜコンパイラ エラーが発生するのですか:
Use of undeclared identifier 'mData'
内部モックgetData()
関数?