テストは増えてくると実行順が変わるので、シングルトンの初期化がうまくいっているかをテストするには、いったんシングルトンを棄てなければならない。
そこで、シングルトンに以下のメソッドを生やす。
Location.m
+ (void)resetSharedInstance {
_instance = nil;
}
あとはテストする。
LocationTest.m
- (void)testInit
{
[Location resetSharedInstance]; // これでシングルトンをリセットする
GHAssertEquals([Location sharedManager].coodinate.latitude, 35.681382, @"位置情報の初期値は東京駅の座標である(緯度)");
GHAssertEquals([Location sharedManager].coodinate.longitude, 139.766084, @"位置情報の初期値は東京駅の座標である(経度)");
}