私はSchool
クラスの実装ファイルで静的変数COURSE_NAME
を持っている:ユニットテストクラスから静的変数にアクセスする方法は?
ヘッダファイル:実装ファイルで
@interface School {
...
}
@end
:
static NSString *COURSE_NAME = @"secret-course";
@implementation School
...
@end
を私がためユニットテストクラスを作成しましたSchool
。
@interface SchoolTest : XCTestCase
@end
@implementation SchoolTest
- (void)setUp {
[super setUp];
...
}
- (void)tearDown {
...
[super tearDown];
}
- (void)testSomeFunc {
// how can I access the static variable 'COURSE_NAME'
// in School implementation file?
}
School
の公開インタフェースにこの静的変数を公開せず、ユニットテストクラスからSchool
実装ファイルで定義された静的変数COURSE_NAME
にアクセスする方法はありますか?
(答えがノーならば、クラスの静的変数にそのユニットテストクラスからアクセスするためのベストプラクティスは何でしょうか?唯一の解決方法はCOURSE_NAME
を宣言することで、静的な場合、私のテストケースのコードをリファクタリングするベストプラクティスは何ですか?通常COURSE_NAME
は定数文字列であり、変更されません。)
ありがとう、私はあなたのポイント2と3を理解していますが、ポイント1の意味はどういう意味ですか、その変数が間接的に適切な値を持っていることを確認する方法とは何ですか?説明するために例を挙げてください。 –