のインスタンスをインスタンス化するメソッドをテストしようとしていますMFMailComposeViewController
。テストされているメソッドは、MFMailComposeViewController
を含むいくつかのメソッドを呼び出しますsetSubject:
。
setSubject に特定の NSString (この場合は @"Test Message") が送信されることをテストしたいと思います。
モック スタブで予想される文字列に何を指定しても、失敗はありません。
単体テスト クラス:
#import <OCMock/OCMock.h>
- (void)testEmail {
TestClass *testInstance = [[TestClass alloc] init];
id mock = [OCMockObject mockForClass:[MFMailComposeViewController class]];
[[mock stub] setSubject:@"Test Message"];
[testInstance testMethod];
}
TestClass で:
- (void)testMethod {
MFMailComposeViewController *mailComposeVC = [[MFMailComposeViewController alloc] init];
[mailComposeVC setSubject:@"Bad Message"];
}
Test Suite 'Email_Tests' started at 2011-09-17 18:12:21 +0000
Test Case '-[Email_Tests testEmail]' started.
Test Case '-[Email_Tests testEmail]' passed (0.041 seconds).
テストは失敗するはずでした。
これを iOS シミュレーターでテストしていますが、デバイスでも同じ結果が得られます。
私は何を間違っていますか?これを達成する方法はありますか?