我有方法,我想測試:測試PresentedViewController與XCTest
- (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作爲presentedViewController但我有空。我不知道該怎麼辦。請幫忙!
嘗試'[mockViewController視圖]',而不是viewDidLoad'的'。 – Fogmeister
在[mockViewController視圖]上更改[mockViewController viewDidLoad]沒有幫助 – user2375706