完了ブロックまたは失敗したブロックのいずれかを呼び出す必要があるメソッドの単体テストがあります。これで、どのケースを呼び出す必要があるかがわかったのでSTFail
、呼び出してはならないブロックで使用します。
呼び出されるべきブロックが実際に呼び出されたことをテストするにはどうすればよいですか?
これは私のセットアップです:
NSString *parameter = @"foo";
[controller doSomethingWithParameter:parameter withcompletionBlock:
^(NSString *result)
{
// This block should be invoked
// Check if the result is correct
STAssertEquals(result, kSomeOKConstant, @"Result shout be 'kSomeOKConstant'");
} failedBlock:
^(NSString *errorMessage) {
STFail(@"No error should happen with parameter '%@'",parameter);
}];