iOSunit testing运行失败

在我的应用程序中,我按照以下方式执行unit testing:

.h文件:

@interface MyAppTests : SenTestCase { SMAppDelegate* _appDelegate; SMMenuViewController* _menuViewController; UIView* _mainView; } 

.m文件

 - (void)setUp { [super setUp]; _appDelegate = [[UIApplication sharedApplication]delegate]; _menuViewController = [[SMMenuViewController alloc]init]; _mainView = [_menuViewController view]; // to force the view to load } - (void)tearDown { // Tear-down code here. _mainView = nil; _menuViewController = nil; _appDelegate = nil; [super tearDown]; } - (void)testMenuViewisNotNil { STAssertNotNil(_menuViewController, @"menuViewController is nil"); } 

当我运行的应用程序,它运行正常,但是当我testing它会得到一个错误,说:

线程1:EXC_BREAKPOINT(代码= EXC_I386_BPT,子代码= 0x0)

它指向ViewDidLoad()中的这一行

 messageTextView = [[UITextView alloc]init]; 

messageTextView是在.h文件中声明的,它不是用Interface Builder创build的,我用addSubview方法将它添加到视图中。 我宣布它是这样的:

 @interface SMMenuViewController : UIViewController <UITextFieldDelegate> { } @property (strong, nonatomic) UITextView *messageTextView; 

messageTextView得到合成,我“无”在viewDidUnload。 我仍然不知道为什么它在unit testing失败。

谁能告诉我为什么?

很感谢任何forms的帮助!

此致

佐利

这是一个常见的问题,但按照这个问题的接受答案中的步骤将为您解决: 如何在xcode4中实现应用程序testing?