我正在尝试测试一个实例化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];
}
在测试类中:
- (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 模拟器中对此进行测试,并在设备上得到相同的结果。
我究竟做错了什么?有没有办法做到这一点?