【发布时间】:2020-11-25 13:30:05
【问题描述】:
我正在尝试为MFMailComposeViewController 编写一个假的进行测试,因此我创建了一个名为MailComposeViewController 的协议和一个符合该协议的FakeComposeViewController 类。我也让MFMailComposeViewController 也符合这个协议。
所以在我的代码中,当我调用它时,我说的是MailComposeViewController 类型,我想替换MFMailComposeViewController.canSendMail()。如果我尝试用我的协议替换:MailComposeViewController.canSendMail() 我得到错误Static member 'canSendMail' cannot be used on protocol metatype 'MailComposeViewController.Protocol' 这是有道理的。但是我将如何解决这个问题,以便我可以决定在测试时传递 FakeComposeViewController.canSendMail() true 响应并在运行时传递真正的 MFMailComposeViewController.canSendMail()?
【问题讨论】:
标签: swift testing mocking mfmailcomposeviewcontroller