【发布时间】:2014-03-07 12:30:28
【问题描述】:
我有想要测试的方法:
- (void)sendMailToContact:(Contact *)conact
{
self.contact = conact;
if ([self isSendingAvaiable]) {
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setToRecipients:@[self.contact.email]];
[self.parentViewController presentViewController:mailViewController animated:YES completion:nil];
}
}
测试...
- (void)testSendMailToContact_itShouldShowMFMailComposeViewController
{
UIViewController *mockViewController = [[UIViewController alloc] init];
[mockViewController viewDidLoad];
MailComposer *mockMailComposer = [MailComposer sharedComposerWithController:mockViewController];
[mockMailComposer sendMailToContact:[self mockContact]];
XCTAssertTrue([mockViewController.presentedViewController isKindOfClass:[MFMailComposeViewController class]], @"");
}
但它不能正常工作。我应该有 MFMailComposeViewController 作为presentViewController,但我有空。我不知道该怎么办。请帮忙!
【问题讨论】:
-
试试
[mockViewController view];而不是viewDidLoad。 -
在 [mockViewController view] 上更改 [mockViewController viewDidLoad] 没有帮助